// Copyright 2011 Emilie Gillet.
//
// Author: Emilie Gillet (emilie.o.gillet@gmail.com)
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License
// along with this program.  If not, see <http://www.gnu.org/licenses/>.
//
// -----------------------------------------------------------------------------
//
// Resources definitions.
//
// Automatically generated with:
// make resources


#include "dsp/resources.h"

namespace dsp {

const prog_uint8_t waveform_res_resonance_response[] PROGMEM = {
       0,     27,     36,     43,     48,     53,     57,     60,
      63,     67,     69,     72,     75,     77,     80,     82,
      84,     86,     88,     90,     92,     94,     95,     97,
      99,    100,    102,    104,    105,    107,    108,    110,
     111,    112,    114,    115,    116,    118,    119,    120,
     121,    123,    124,    125,    126,    127,    128,    129,
     131,    132,    133,    134,    135,    136,    137,    138,
     139,    140,    141,    142,    143,    144,    145,    146,
     147,    147,    148,    149,    150,    151,    152,    153,
     154,    154,    155,    156,    157,    158,    159,    159,
     160,    161,    162,    163,    163,    164,    165,    166,
     167,    167,    168,    169,    170,    170,    171,    172,
     172,    173,    174,    175,    175,    176,    177,    177,
     178,    179,    179,    180,    181,    181,    182,    183,
     183,    184,    185,    185,    186,    187,    187,    188,
     189,    189,    190,    190,    191,    192,    192,    193,
     194,    194,    195,    195,    196,    197,    197,    198,
     198,    199,    199,    200,    201,    201,    202,    202,
     203,    203,    204,    205,    205,    206,    206,    207,
     207,    208,    208,    209,    209,    210,    211,    211,
     212,    212,    213,    213,    214,    214,    215,    215,
     216,    216,    217,    217,    218,    218,    219,    219,
     220,    220,    221,    221,    222,    222,    223,    223,
     224,    224,    225,    225,    226,    226,    227,    227,
     228,    228,    229,    229,    230,    230,    230,    231,
     231,    232,    232,    233,    233,    234,    234,    235,
     235,    236,    236,    236,    237,    237,    238,    238,
     239,    239,    240,    240,    240,    241,    241,    242,
     242,    243,    243,    243,    244,    244,    245,    245,
     246,    246,    246,    247,    247,    248,    248,    249,
     249,    249,    250,    250,    251,    251,    251,    252,
     252,    253,    253,    253,    254,    254,    255,    255,
};
const prog_uint8_t waveform_res_sine[] PROGMEM = {
     128,    123,    123,    117,    115,    113,    108,    107,
     102,    100,     96,     95,     90,     88,     85,     82,
      79,     76,     74,     70,     68,     65,     63,     60,
      57,     54,     53,     49,     47,     46,     42,     40,
      38,     36,     34,     32,     29,     28,     26,     24,
      23,     20,     19,     17,     17,     14,     13,     11,
      12,      9,      8,      8,      6,      6,      5,      4,
       3,      3,      2,      2,      2,      1,      2,      0,
       2,      0,      2,      1,      1,      3,      2,      3,
       3,      4,      5,      6,      6,      7,      9,      9,
      11,     12,     13,     15,     15,     18,     19,     20,
      23,     24,     26,     27,     30,     32,     34,     36,
      37,     41,     43,     44,     48,     49,     52,     56,
      56,     60,     63,     64,     69,     70,     74,     76,
      79,     82,     84,     89,     91,     93,     97,     99,
     104,    105,    110,    111,    116,    117,    122,    125,
     127,    130,    134,    137,    140,    143,    146,    149,
     152,    156,    157,    162,    164,    168,    169,    174,
     175,    179,    182,    184,    187,    190,    193,    195,
     197,    201,    203,    205,    208,    210,    212,    216,
     216,    219,    221,    224,    225,    228,    228,    231,
     233,    234,    237,    237,    239,    240,    242,    244,
     244,    245,    247,    248,    248,    249,    251,    251,
     251,    253,    252,    253,    253,    254,    254,    254,
     254,    254,    254,    253,    254,    253,    252,    253,
     251,    251,    250,    250,    248,    248,    247,    245,
     244,    244,    241,    241,    239,    238,    235,    235,
     233,    230,    230,    227,    225,    223,    222,    219,
     216,    216,    212,    210,    207,    206,    203,    201,
     197,    195,    193,    189,    188,    184,    182,    178,
     177,    172,    171,    167,    163,    163,    157,    156,
     151,    150,    146,    143,    140,    137,    133,    131,
     128,
};


const prog_uint8_t* waveform_table[] = {
  waveform_res_resonance_response,
  waveform_res_sine,
};

const prog_uint16_t lut_res_distortion[] PROGMEM = {
       1,      1,      1,      1,      1,      1,      1,      1,
       1,      1,      1,      1,      1,      1,      1,      1,
       1,      1,      1,      1,      1,      1,      1,      1,
       1,      1,      1,      1,      1,      1,      1,      1,
       1,      1,      1,      1,      1,      1,      1,      1,
       1,      1,      1,      1,      1,      1,      1,      1,
       1,      1,      1,      1,      1,      1,      1,      1,
       1,      1,      1,      1,      1,      1,      1,      1,
       1,      1,      1,      1,      1,      1,      1,      1,
       1,      1,      1,      1,      1,      1,      1,      1,
       1,      1,      1,      1,      1,      1,      1,      1,
       1,      1,      1,      1,      1,      1,      1,      1,
       1,      1,      1,      1,      1,      1,      1,      1,
       1,      1,      1,      1,      1,      1,      1,      1,
       1,      1,      1,      1,      1,      1,      1,      1,
       1,      1,      1,      1,      1,      1,      1,      1,
       1,      1,      1,      1,      1,      1,      1,      1,
       1,      1,      1,      1,      1,      1,      1,      1,
       1,      1,      1,      1,      1,      1,      1,      1,
       1,      1,      1,      1,      1,      1,      1,      1,
       1,      1,      1,      1,      1,      1,      1,      1,
       1,      1,      1,      1,      1,      1,      1,      1,
       1,      1,      1,      1,      1,      1,      1,      1,
       1,      1,      1,      1,      1,      1,      1,      1,
       1,      1,      1,      1,      1,      1,      1,      1,
       1,      1,      1,      1,      1,      1,      1,      1,
       1,      1,      1,      1,      1,      1,      1,      1,
       1,      1,      1,      1,      1,      1,      1,      1,
       1,      1,      1,      1,      1,      1,      1,      1,
       1,      1,      1,      1,      1,      1,      1,      1,
       1,      1,      1,      1,      1,      1,      1,      1,
       1,      1,      1,      1,      1,      1,      1,      1,
       1,      1,      1,      1,      1,      1,      1,      1,
       1,      1,      1,      1,      1,      1,      1,      1,
       1,      1,      1,      1,      1,      1,      1,      1,
       1,      1,      1,      1,      1,      1,      1,      1,
       1,      1,      1,      1,      1,      1,      1,      1,
       1,      1,      1,      1,      1,      1,      1,      1,
       1,      1,      1,      1,      1,      1,      1,      1,
       1,      1,      1,      1,      1,      1,      1,      1,
       1,      1,      1,      1,      1,      1,      1,      1,
       1,      1,      1,      1,      1,      1,      1,      1,
       1,      1,      1,      1,      1,      1,      1,      1,
       1,      1,      1,      1,      1,      1,      1,      1,
       1,      1,      1,      1,      1,      1,      1,      1,
       1,      1,      1,      1,      1,      1,      1,      1,
       1,      1,      1,      1,      1,      1,      1,      1,
       1,      1,      1,      1,      1,      1,      1,      1,
       1,      1,      1,      1,      1,      1,      1,      1,
       1,      1,      1,      1,      1,      1,      1,      1,
       1,      1,      1,      1,      1,      1,      1,      1,
       1,      1,      1,      1,      1,      1,      1,      1,
       1,      1,      1,      1,      1,      1,      1,      1,
       1,      1,      1,      1,      1,      1,      1,      1,
       1,      1,      1,      1,      1,      1,      1,      1,
       1,      1,      1,      1,      1,      1,      1,      1,
       1,      1,      1,      1,      1,      1,      1,      1,
       1,      1,      1,      1,      1,      1,      1,      1,
       1,      1,      1,      1,      1,      1,      1,      1,
       1,      1,      1,      1,      1,      1,      1,      1,
       1,      1,      1,      1,      1,      1,      1,      1,
       1,      1,      1,      1,      1,      1,      1,      1,
       1,      1,      1,      1,      1,      1,      1,      1,
       1,      1,      1,      1,      1,      1,      1,      1,
       1,      1,      1,      1,      1,      1,      1,      1,
       1,      1,      1,      1,      1,      1,      1,      1,
       1,      1,      1,      1,      1,      1,      1,      1,
       1,      1,      1,      1,      1,      1,      1,      1,
       1,      1,      1,      1,      1,      1,      1,      1,
       1,      1,      1,      1,      1,      1,      1,      1,
       1,      1,      1,      1,      1,      1,      1,      1,
       1,      1,      1,      1,      1,      1,      1,      1,
       1,      1,      1,      1,      1,      1,      1,      1,
       1,      1,      1,      1,      1,      1,      1,      1,
       1,      1,      1,      1,      1,      1,      1,      1,
       1,      1,      1,      1,      1,      1,      1,      1,
       1,      1,      1,      1,      1,      1,      1,      1,
       1,      1,      1,      1,      1,      1,      1,      1,
       1,      1,      1,      1,      1,      1,      1,      1,
       1,      1,      1,      1,      1,      1,      1,      1,
       1,      1,      1,      1,      1,      1,      1,      1,
       1,      1,      1,      1,      1,      1,      1,      1,
       1,      1,      1,      1,      1,      1,      1,      1,
       1,      1,      1,      1,      1,      1,      1,      1,
       1,      1,      1,      1,      1,      1,      1,      1,
       1,      1,      1,      1,      1,      1,      1,      1,
       1,      1,      1,      1,      1,      1,      1,      1,
       1,      1,      1,      1,      1,      1,      1,      1,
       1,      1,      1,      1,      1,      1,      1,      1,
       1,      1,      1,      1,      1,      1,      1,      1,
       1,      1,      1,      1,      1,      1,      1,      1,
       1,      1,      1,      1,      1,      1,      1,      1,
       1,      1,      1,      1,      1,      1,      1,      1,
       1,      1,      1,      1,      1,      1,      1,      1,
       1,      1,      1,      1,      1,      1,      1,      1,
       1,      1,      1,      1,      1,      1,      1,      1,
       1,      1,      1,      1,      1,      1,      1,      1,
       1,      1,      1,      1,      1,      1,      1,      1,
       1,      1,      1,      1,      1,      1,      1,      1,
       1,      1,      1,      1,      1,      1,      1,      1,
       1,      1,      1,      1,      1,      1,      1,      1,
       1,      1,      1,      1,      1,      1,      1,      1,
       1,      1,      1,      1,      1,      1,      1,      1,
       1,      1,      1,      1,      1,      1,      1,      1,
       1,      1,      1,      1,      1,      1,      1,      1,
       1,      1,      1,      1,      1,      1,      1,      1,
       1,      1,      1,      1,      1,      1,      1,      1,
       1,      1,      1,      1,      1,      1,      1,      1,
       1,      1,      1,      1,      1,      1,      1,      1,
       1,      1,      1,      1,      1,      1,      1,      1,
       1,      1,      1,      1,      1,      1,      1,      1,
       1,      1,      1,      1,      1,      1,      1,      1,
       1,      1,      1,      1,      1,      1,      1,      1,
       1,      1,      1,      1,      1,      1,      1,      1,
       1,      1,      1,      1,      1,      1,      1,      1,
       1,      1,      1,      1,      1,      1,      1,      1,
       1,      1,      1,      1,      1,      1,      1,      1,
       1,      1,      1,      1,      1,      1,      1,      1,
       1,      1,      1,      1,      1,      1,      1,      1,
       1,      1,      1,      1,      1,      1,      1,      1,
       1,      1,      1,      1,      1,      1,      1,      1,
       1,      1,      1,      1,      1,      1,      1,      1,
       1,      1,      1,      1,      1,      1,      1,      1,
       1,      1,      1,      1,      1,      1,      1,      1,
       1,      1,      1,      1,      1,      1,      1,      1,
       1,      1,      1,      1,      1,      1,      1,      1,
       1,      1,      1,      1,      1,      1,      1,      1,
       1,      1,      1,      1,      1,      1,      1,      2,
       2,      2,      2,      2,      2,      2,      2,      2,
       2,      2,      2,      2,      2,      2,      2,      2,
       2,      2,      2,      2,      2,      2,      2,      2,
       2,      2,      2,      2,      2,      2,      2,      2,
       2,      2,      2,      2,      2,      2,      2,      2,
       2,      2,      2,      2,      2,      2,      2,      2,
       2,      2,      2,      2,      2,      2,      2,      2,
       2,      2,      2,      2,      2,      2,      2,      2,
       2,      2,      2,      2,      2,      2,      2,      2,
       2,      2,      2,      2,      2,      2,      2,      2,
       2,      2,      2,      2,      2,      2,      2,      2,
       2,      2,      2,      2,      2,      2,      2,      2,
       2,      2,      2,      2,      2,      2,      2,      2,
       2,      2,      2,      2,      2,      2,      2,      2,
       2,      2,      2,      2,      2,      2,      2,      2,
       2,      2,      2,      2,      3,      3,      3,      3,
       3,      3,      3,      3,      3,      3,      3,      3,
       3,      3,      3,      3,      3,      3,      3,      3,
       3,      3,      3,      3,      3,      3,      3,      3,
       3,      3,      3,      3,      3,      3,      3,      3,
       3,      3,      3,      3,      3,      3,      3,      3,
       3,      3,      3,      3,      3,      3,      3,      3,
       3,      3,      3,      3,      3,      3,      4,      4,
       4,      4,      4,      4,      4,      4,      4,      4,
       4,      4,      4,      4,      4,      4,      4,      4,
       4,      4,      4,      4,      4,      4,      4,      4,
       4,      4,      4,      4,      4,      4,      4,      4,
       4,      4,      4,      4,      5,      5,      5,      5,
       5,      5,      5,      5,      5,      5,      5,      5,
       5,      5,      5,      5,      5,      5,      5,      5,
       5,      5,      5,      5,      5,      5,      5,      5,
       5,      6,      6,      6,      6,      6,      6,      6,
       6,      6,      6,      6,      6,      6,      6,      6,
       6,      6,      6,      6,      6,      6,      6,      6,
       7,      7,      7,      7,      7,      7,      7,      7,
       7,      7,      7,      7,      7,      7,      7,      7,
       7,      7,      7,      8,      8,      8,      8,      8,
       8,      8,      8,      8,      8,      8,      8,      8,
       8,      8,      8,      9,      9,      9,      9,      9,
       9,      9,      9,      9,      9,      9,      9,      9,
       9,     10,     10,     10,     10,     10,     10,     10,
      10,     10,     10,     10,     10,     10,     11,     11,
      11,     11,     11,     11,     11,     11,     11,     11,
      11,     12,     12,     12,     12,     12,     12,     12,
      12,     12,     12,     12,     13,     13,     13,     13,
      13,     13,     13,     13,     13,     14,     14,     14,
      14,     14,     14,     14,     14,     14,     15,     15,
      15,     15,     15,     15,     15,     15,     16,     16,
      16,     16,     16,     16,     16,     16,     17,     17,
      17,     17,     17,     17,     17,     18,     18,     18,
      18,     18,     18,     18,     19,     19,     19,     19,
      19,     19,     20,     20,     20,     20,     20,     20,
      21,     21,     21,     21,     21,     21,     22,     22,
      22,     22,     22,     23,     23,     23,     23,     23,
      24,     24,     24,     24,     24,     25,     25,     25,
      25,     25,     26,     26,     26,     26,     26,     27,
      27,     27,     27,     28,     28,     28,     28,     29,
      29,     29,     29,     30,     30,     30,     30,     31,
      31,     31,     31,     32,     32,     32,     32,     33,
      33,     33,     34,     34,     34,     34,     35,     35,
      35,     36,     36,     36,     36,     37,     37,     37,
      38,     38,     38,     39,     39,     39,     40,     40,
      40,     41,     41,     41,     42,     42,     42,     43,
      43,     44,     44,     44,     45,     45,     45,     46,
      46,     47,     47,     47,     48,     48,     49,     49,
      50,     50,     50,     51,     51,     52,     52,     53,
      53,     53,     54,     54,     55,     55,     56,     56,
      57,     57,     58,     58,     59,     59,     60,     60,
      61,     61,     62,     62,     63,     63,     64,     64,
      65,     66,     66,     67,     67,     68,     68,     69,
      70,     70,     71,     71,     72,     73,     73,     74,
      75,     75,     76,     76,     77,     78,     78,     79,
      80,     80,     81,     82,     83,     83,     84,     85,
      85,     86,     87,     88,     88,     89,     90,     91,
      91,     92,     93,     94,     95,     95,     96,     97,
      98,     99,    100,    100,    101,    102,    103,    104,
     105,    106,    107,    107,    108,    109,    110,    111,
     112,    113,    114,    115,    116,    117,    118,    119,
     120,    121,    122,    123,    124,    125,    126,    127,
     128,    129,    131,    132,    133,    134,    135,    136,
     137,    138,    140,    141,    142,    143,    144,    146,
     147,    148,    149,    151,    152,    153,    155,    156,
     157,    158,    160,    161,    163,    164,    165,    167,
     168,    169,    171,    172,    174,    175,    177,    178,
     180,    181,    183,    184,    186,    187,    189,    191,
     192,    194,    195,    197,    199,    200,    202,    204,
     205,    207,    209,    211,    212,    214,    216,    218,
     219,    221,    223,    225,    227,    229,    231,    233,
     234,    236,    238,    240,    242,    244,    246,    248,
     250,    252,    255,    257,    259,    261,    263,    265,
     267,    270,    272,    274,    276,    279,    281,    283,
     285,    288,    290,    293,    295,    297,    300,    302,
     305,    307,    310,    312,    315,    317,    320,    322,
     325,    328,    330,    333,    336,    338,    341,    344,
     347,    349,    352,    355,    358,    361,    364,    367,
     370,    373,    376,    379,    382,    385,    388,    391,
     394,    397,    400,    403,    407,    410,    413,    416,
     420,    423,    426,    430,    433,    436,    440,    443,
     447,    450,    454,    457,    461,    465,    468,    472,
     476,    479,    483,    487,    490,    494,    498,    502,
     506,    510,    514,    518,    522,    526,    530,    534,
     538,    542,    546,    550,    554,    559,    563,    567,
     571,    576,    580,    585,    589,    593,    598,    602,
     607,    611,    616,    621,    625,    630,    635,    639,
     644,    649,    654,    659,    663,    668,    673,    678,
     683,    688,    693,    698,    703,    709,    714,    719,
     724,    729,    735,    740,    745,    751,    756,    761,
     767,    772,    778,    783,    789,    795,    800,    806,
     812,    817,    823,    829,    835,    841,    847,    852,
     858,    864,    870,    876,    882,    889,    895,    901,
     907,    913,    919,    926,    932,    938,    945,    951,
     958,    964,    971,    977,    984,    990,    997,   1003,
    1010,   1017,   1024,   1030,   1037,   1044,   1051,   1058,
    1065,   1072,   1078,   1085,   1092,   1100,   1107,   1114,
    1121,   1128,   1135,   1142,   1150,   1157,   1164,   1172,
    1179,   1186,   1194,   1201,   1209,   1216,   1224,   1231,
    1239,   1246,   1254,   1262,   1269,   1277,   1285,   1293,
    1300,   1308,   1316,   1324,   1332,   1340,   1348,   1356,
    1364,   1372,   1380,   1388,   1396,   1404,   1412,   1420,
    1428,   1436,   1445,   1453,   1461,   1469,   1478,   1486,
    1494,   1503,   1511,   1519,   1528,   1536,   1545,   1553,
    1562,   1570,   1579,   1587,   1596,   1604,   1613,   1622,
    1630,   1639,   1647,   1656,   1665,   1673,   1682,   1691,
    1700,   1708,   1717,   1726,   1735,   1743,   1752,   1761,
    1770,   1779,   1788,   1796,   1805,   1814,   1823,   1832,
    1841,   1850,   1859,   1868,   1876,   1885,   1894,   1903,
    1912,   1921,   1930,   1939,   1948,   1957,   1966,   1975,
    1984,   1993,   2002,   2011,   2020,   2029,   2038,   2047,
    2056,   2065,   2074,   2083,   2092,   2101,   2110,   2119,
    2128,   2137,   2146,   2155,   2164,   2173,   2182,   2191,
    2200,   2209,   2218,   2226,   2235,   2244,   2253,   2262,
    2271,   2280,   2289,   2298,   2306,   2315,   2324,   2333,
    2342,   2351,   2359,   2368,   2377,   2386,   2394,   2403,
    2412,   2421,   2429,   2438,   2447,   2455,   2464,   2472,
    2481,   2490,   2498,   2507,   2515,   2524,   2532,   2541,
    2549,   2558,   2566,   2575,   2583,   2591,   2600,   2608,
    2616,   2625,   2633,   2641,   2649,   2658,   2666,   2674,
    2682,   2690,   2698,   2706,   2714,   2722,   2730,   2738,
    2746,   2754,   2762,   2770,   2778,   2786,   2794,   2801,
    2809,   2817,   2825,   2832,   2840,   2848,   2855,   2863,
    2870,   2878,   2885,   2893,   2900,   2908,   2915,   2922,
    2930,   2937,   2944,   2952,   2959,   2966,   2973,   2980,
    2987,   2994,   3002,   3009,   3016,   3022,   3029,   3036,
    3043,   3050,   3057,   3064,   3070,   3077,   3084,   3091,
    3097,   3104,   3110,   3117,   3123,   3130,   3136,   3143,
    3149,   3156,   3162,   3168,   3175,   3181,   3187,   3193,
    3199,   3205,   3212,   3218,   3224,   3230,   3236,   3242,
    3247,   3253,   3259,   3265,   3271,   3277,   3282,   3288,
    3294,   3299,   3305,   3311,   3316,   3322,   3327,   3333,
    3338,   3343,   3349,   3354,   3359,   3365,   3370,   3375,
    3380,   3385,   3391,   3396,   3401,   3406,   3411,   3416,
    3421,   3426,   3431,   3435,   3440,   3445,   3450,   3455,
    3459,   3464,   3469,   3473,   3478,   3483,   3487,   3492,
    3496,   3501,   3505,   3509,   3514,   3518,   3523,   3527,
    3531,   3535,   3540,   3544,   3548,   3552,   3556,   3560,
    3564,   3568,   3572,   3576,   3580,   3584,   3588,   3592,
    3596,   3600,   3604,   3607,   3611,   3615,   3618,   3622,
    3626,   3629,   3633,   3637,   3640,   3644,   3647,   3651,
    3654,   3658,   3661,   3664,   3668,   3671,   3674,   3678,
    3681,   3684,   3687,   3691,   3694,   3697,   3700,   3703,
    3706,   3709,   3712,   3715,   3718,   3721,   3724,   3727,
    3730,   3733,   3736,   3739,   3742,   3745,   3747,   3750,
    3753,   3756,   3758,   3761,   3764,   3766,   3769,   3772,
    3774,   3777,   3779,   3782,   3784,   3787,   3789,   3792,
    3794,   3797,   3799,   3801,   3804,   3806,   3809,   3811,
    3813,   3815,   3818,   3820,   3822,   3824,   3827,   3829,
    3831,   3833,   3835,   3837,   3839,   3842,   3844,   3846,
    3848,   3850,   3852,   3854,   3856,   3858,   3860,   3861,
    3863,   3865,   3867,   3869,   3871,   3873,   3875,   3876,
    3878,   3880,   3882,   3883,   3885,   3887,   3889,   3890,
    3892,   3894,   3895,   3897,   3899,   3900,   3902,   3903,
    3905,   3907,   3908,   3910,   3911,   3913,   3914,   3916,
    3917,   3919,   3920,   3922,   3923,   3925,   3926,   3927,
    3929,   3930,   3931,   3933,   3934,   3936,   3937,   3938,
    3939,   3941,   3942,   3943,   3945,   3946,   3947,   3948,
    3950,   3951,   3952,   3953,   3954,   3956,   3957,   3958,
    3959,   3960,   3961,   3962,   3963,   3965,   3966,   3967,
    3968,   3969,   3970,   3971,   3972,   3973,   3974,   3975,
    3976,   3977,   3978,   3979,   3980,   3981,   3982,   3983,
    3984,   3985,   3986,   3987,   3987,   3988,   3989,   3990,
    3991,   3992,   3993,   3994,   3994,   3995,   3996,   3997,
    3998,   3999,   3999,   4000,   4001,   4002,   4003,   4003,
    4004,   4005,   4006,   4006,   4007,   4008,   4009,   4009,
    4010,   4011,   4011,   4012,   4013,   4014,   4014,   4015,
    4016,   4016,   4017,   4018,   4018,   4019,   4019,   4020,
    4021,   4021,   4022,   4023,   4023,   4024,   4024,   4025,
    4026,   4026,   4027,   4027,   4028,   4028,   4029,   4030,
    4030,   4031,   4031,   4032,   4032,   4033,   4033,   4034,
    4034,   4035,   4035,   4036,   4036,   4037,   4037,   4038,
    4038,   4039,   4039,   4040,   4040,   4041,   4041,   4041,
    4042,   4042,   4043,   4043,   4044,   4044,   4044,   4045,
    4045,   4046,   4046,   4047,   4047,   4047,   4048,   4048,
    4049,   4049,   4049,   4050,   4050,   4050,   4051,   4051,
    4052,   4052,   4052,   4053,   4053,   4053,   4054,   4054,
    4054,   4055,   4055,   4055,   4056,   4056,   4056,   4057,
    4057,   4057,   4058,   4058,   4058,   4058,   4059,   4059,
    4059,   4060,   4060,   4060,   4061,   4061,   4061,   4061,
    4062,   4062,   4062,   4062,   4063,   4063,   4063,   4063,
    4064,   4064,   4064,   4064,   4065,   4065,   4065,   4065,
    4066,   4066,   4066,   4066,   4067,   4067,   4067,   4067,
    4068,   4068,   4068,   4068,   4068,   4069,   4069,   4069,
    4069,   4069,   4070,   4070,   4070,   4070,   4070,   4071,
    4071,   4071,   4071,   4071,   4072,   4072,   4072,   4072,
    4072,   4073,   4073,   4073,   4073,   4073,   4073,   4074,
    4074,   4074,   4074,   4074,   4074,   4075,   4075,   4075,
    4075,   4075,   4075,   4076,   4076,   4076,   4076,   4076,
    4076,   4076,   4077,   4077,   4077,   4077,   4077,   4077,
    4077,   4078,   4078,   4078,   4078,   4078,   4078,   4078,
    4078,   4079,   4079,   4079,   4079,   4079,   4079,   4079,
    4079,   4080,   4080,   4080,   4080,   4080,   4080,   4080,
    4080,   4080,   4081,   4081,   4081,   4081,   4081,   4081,
    4081,   4081,   4081,   4082,   4082,   4082,   4082,   4082,
    4082,   4082,   4082,   4082,   4082,   4082,   4083,   4083,
    4083,   4083,   4083,   4083,   4083,   4083,   4083,   4083,
    4083,   4084,   4084,   4084,   4084,   4084,   4084,   4084,
    4084,   4084,   4084,   4084,   4084,   4084,   4085,   4085,
    4085,   4085,   4085,   4085,   4085,   4085,   4085,   4085,
    4085,   4085,   4085,   4085,   4086,   4086,   4086,   4086,
    4086,   4086,   4086,   4086,   4086,   4086,   4086,   4086,
    4086,   4086,   4086,   4086,   4087,   4087,   4087,   4087,
    4087,   4087,   4087,   4087,   4087,   4087,   4087,   4087,
    4087,   4087,   4087,   4087,   4087,   4087,   4087,   4088,
    4088,   4088,   4088,   4088,   4088,   4088,   4088,   4088,
    4088,   4088,   4088,   4088,   4088,   4088,   4088,   4088,
    4088,   4088,   4088,   4088,   4088,   4088,   4089,   4089,
    4089,   4089,   4089,   4089,   4089,   4089,   4089,   4089,
    4089,   4089,   4089,   4089,   4089,   4089,   4089,   4089,
    4089,   4089,   4089,   4089,   4089,   4089,   4089,   4089,
    4089,   4089,   4089,   4090,   4090,   4090,   4090,   4090,
    4090,   4090,   4090,   4090,   4090,   4090,   4090,   4090,
    4090,   4090,   4090,   4090,   4090,   4090,   4090,   4090,
    4090,   4090,   4090,   4090,   4090,   4090,   4090,   4090,
    4090,   4090,   4090,   4090,   4090,   4090,   4090,   4090,
    4090,   4091,   4091,   4091,   4091,   4091,   4091,   4091,
    4091,   4091,   4091,   4091,   4091,   4091,   4091,   4091,
    4091,   4091,   4091,   4091,   4091,   4091,   4091,   4091,
    4091,   4091,   4091,   4091,   4091,   4091,   4091,   4091,
    4091,   4091,   4091,   4091,   4091,   4091,   4091,   4091,
    4091,   4091,   4091,   4091,   4091,   4091,   4091,   4091,
    4091,   4091,   4091,   4091,   4091,   4091,   4091,   4091,
    4091,   4091,   4091,   4092,   4092,   4092,   4092,   4092,
    4092,   4092,   4092,   4092,   4092,   4092,   4092,   4092,
    4092,   4092,   4092,   4092,   4092,   4092,   4092,   4092,
    4092,   4092,   4092,   4092,   4092,   4092,   4092,   4092,
    4092,   4092,   4092,   4092,   4092,   4092,   4092,   4092,
    4092,   4092,   4092,   4092,   4092,   4092,   4092,   4092,
    4092,   4092,   4092,   4092,   4092,   4092,   4092,   4092,
    4092,   4092,   4092,   4092,   4092,   4092,   4092,   4092,
    4092,   4092,   4092,   4092,   4092,   4092,   4092,   4092,
    4092,   4092,   4092,   4092,   4092,   4092,   4092,   4092,
    4092,   4092,   4092,   4092,   4092,   4092,   4092,   4092,
    4092,   4092,   4092,   4092,   4092,   4092,   4092,   4092,
    4092,   4092,   4092,   4092,   4092,   4092,   4092,   4092,
    4092,   4092,   4092,   4092,   4092,   4092,   4092,   4092,
    4092,   4092,   4092,   4092,   4092,   4092,   4092,   4092,
    4092,   4092,   4092,   4092,   4092,   4092,   4092,   4092,
    4093,   4093,   4093,   4093,   4093,   4093,   4093,   4093,
    4093,   4093,   4093,   4093,   4093,   4093,   4093,   4093,
    4093,   4093,   4093,   4093,   4093,   4093,   4093,   4093,
    4093,   4093,   4093,   4093,   4093,   4093,   4093,   4093,
    4093,   4093,   4093,   4093,   4093,   4093,   4093,   4093,
    4093,   4093,   4093,   4093,   4093,   4093,   4093,   4093,
    4093,   4093,   4093,   4093,   4093,   4093,   4093,   4093,
    4093,   4093,   4093,   4093,   4093,   4093,   4093,   4093,
    4093,   4093,   4093,   4093,   4093,   4093,   4093,   4093,
    4093,   4093,   4093,   4093,   4093,   4093,   4093,   4093,
    4093,   4093,   4093,   4093,   4093,   4093,   4093,   4093,
    4093,   4093,   4093,   4093,   4093,   4093,   4093,   4093,
    4093,   4093,   4093,   4093,   4093,   4093,   4093,   4093,
    4093,   4093,   4093,   4093,   4093,   4093,   4093,   4093,
    4093,   4093,   4093,   4093,   4093,   4093,   4093,   4093,
    4093,   4093,   4093,   4093,   4093,   4093,   4093,   4093,
    4093,   4093,   4093,   4093,   4093,   4093,   4093,   4093,
    4093,   4093,   4093,   4093,   4093,   4093,   4093,   4093,
    4093,   4093,   4093,   4093,   4093,   4093,   4093,   4093,
    4093,   4093,   4093,   4093,   4093,   4093,   4093,   4093,
    4093,   4093,   4093,   4093,   4093,   4093,   4093,   4093,
    4093,   4093,   4093,   4093,   4093,   4093,   4093,   4093,
    4093,   4093,   4093,   4093,   4093,   4093,   4093,   4093,
    4093,   4093,   4093,   4093,   4093,   4093,   4093,   4093,
    4093,   4093,   4093,   4093,   4093,   4093,   4093,   4093,
    4093,   4093,   4093,   4093,   4093,   4093,   4093,   4093,
    4093,   4093,   4093,   4093,   4093,   4093,   4093,   4093,
    4093,   4093,   4093,   4093,   4093,   4093,   4093,   4093,
    4093,   4093,   4093,   4093,   4093,   4093,   4093,   4093,
    4093,   4093,   4093,   4093,   4093,   4093,   4093,   4093,
    4093,   4093,   4093,   4093,   4093,   4093,   4093,   4093,
    4093,   4093,   4093,   4093,   4093,   4093,   4093,   4093,
    4093,   4093,   4093,   4093,   4093,   4093,   4093,   4093,
    4093,   4093,   4093,   4093,   4093,   4093,   4093,   4093,
    4093,   4093,   4093,   4093,   4093,   4093,   4093,   4093,
    4093,   4093,   4093,   4093,   4093,   4093,   4093,   4093,
    4093,   4093,   4093,   4093,   4093,   4093,   4093,   4093,
    4093,   4093,   4093,   4093,   4093,   4093,   4093,   4093,
    4093,   4093,   4093,   4093,   4093,   4093,   4093,   4093,
    4093,   4093,   4093,   4093,   4093,   4093,   4093,   4093,
    4093,   4093,   4093,   4093,   4093,   4093,   4093,   4093,
    4093,   4093,   4093,   4093,   4093,   4093,   4093,   4093,
    4093,   4093,   4093,   4093,   4093,   4093,   4093,   4093,
    4093,   4093,   4093,   4093,   4093,   4093,   4093,   4093,
    4093,   4093,   4093,   4093,   4093,   4093,   4093,   4093,
    4093,   4093,   4093,   4093,   4093,   4093,   4093,   4093,
    4093,   4093,   4093,   4093,   4093,   4093,   4093,   4093,
    4093,   4093,   4093,   4093,   4093,   4093,   4093,   4093,
    4093,   4093,   4093,   4093,   4093,   4093,   4093,   4093,
    4093,   4093,   4093,   4093,   4093,   4093,   4093,   4093,
    4093,   4093,   4093,   4093,   4093,   4093,   4093,   4093,
    4093,   4093,   4093,   4093,   4093,   4093,   4093,   4093,
    4093,   4093,   4093,   4093,   4093,   4093,   4093,   4093,
    4093,   4093,   4093,   4093,   4093,   4093,   4093,   4093,
    4093,   4093,   4093,   4093,   4093,   4093,   4093,   4093,
    4093,   4093,   4093,   4093,   4093,   4093,   4093,   4093,
    4093,   4093,   4093,   4093,   4093,   4093,   4093,   4093,
    4093,   4093,   4093,   4093,   4093,   4093,   4093,   4093,
    4093,   4093,   4093,   4093,   4093,   4093,   4093,   4093,
    4093,   4093,   4093,   4093,   4093,   4093,   4093,   4093,
    4093,   4093,   4093,   4093,   4093,   4093,   4093,   4093,
    4093,   4093,   4093,   4093,   4093,   4093,   4093,   4093,
    4093,   4093,   4093,   4093,   4093,   4093,   4093,   4093,
    4093,   4093,   4093,   4093,   4093,   4093,   4093,   4093,
    4093,   4093,   4093,   4093,   4093,   4093,   4093,   4093,
    4093,   4093,   4093,   4093,   4093,   4093,   4093,   4093,
    4093,   4093,   4093,   4093,   4093,   4093,   4093,   4093,
    4093,   4093,   4093,   4093,   4093,   4093,   4093,   4093,
    4093,   4093,   4093,   4093,   4093,   4093,   4093,   4093,
    4093,   4093,   4093,   4093,   4093,   4093,   4093,   4093,
    4093,   4093,   4093,   4093,   4093,   4093,   4093,   4093,
    4093,   4093,   4093,   4093,   4093,   4093,   4093,   4093,
    4093,   4093,   4093,   4093,   4093,   4093,   4093,   4093,
    4093,   4093,   4093,   4093,   4093,   4093,   4093,   4093,
    4093,   4093,   4093,   4093,   4093,   4093,   4093,   4093,
    4093,   4093,   4093,   4093,   4093,   4093,   4093,   4093,
    4093,   4093,   4093,   4093,   4093,   4093,   4093,   4093,
    4093,   4093,   4093,   4093,   4093,   4093,   4093,   4093,
    4093,   4093,   4093,   4093,   4093,   4093,   4093,   4093,
    4093,   4093,   4093,   4093,   4093,   4093,   4093,   4093,
    4093,   4093,   4093,   4093,   4093,   4093,   4093,   4093,
    4093,   4093,   4093,   4093,   4093,   4093,   4093,   4093,
    4093,   4093,   4093,   4093,   4093,   4093,   4093,   4093,
    4093,   4093,   4093,   4093,   4093,   4093,   4093,   4093,
    4093,   4093,   4093,   4093,   4093,   4093,   4093,   4093,
    4093,   4093,   4093,   4093,   4093,   4093,   4093,   4093,
    4093,   4093,   4093,   4093,   4093,   4093,   4093,   4093,
    4093,   4093,   4093,   4093,   4093,   4093,   4093,   4093,
    4093,   4093,   4093,   4093,   4093,   4093,   4093,   4093,
    4093,   4093,   4093,   4093,   4093,   4093,   4093,   4093,
    4093,   4093,   4093,   4093,   4093,   4093,   4093,   4093,
    4093,   4093,   4093,   4093,   4093,   4093,   4093,   4093,
    4093,   4093,   4093,   4093,   4093,   4093,   4093,   4093,
    4093,   4093,   4093,   4093,   4093,   4093,   4093,   4093,
    4093,   4093,   4093,   4093,   4093,   4093,   4093,   4093,
    4093,   4093,   4093,   4093,   4093,   4093,   4093,   4093,
    4093,   4093,   4093,   4093,   4093,   4093,   4093,   4093,
    4093,   4093,   4093,   4093,   4093,   4093,   4093,   4093,
    4093,   4093,   4093,   4093,   4093,   4093,   4093,   4093,
    4093,   4093,   4093,   4093,   4093,   4093,   4093,   4093,
    4093,   4093,   4093,   4093,   4093,   4093,   4093,   4093,
    4093,   4093,   4093,   4093,   4093,   4093,   4093,   4093,
    4093,   4093,   4093,   4093,   4093,   4093,   4093,   4093,
    4093,   4093,   4093,   4093,   4093,   4093,   4093,   4093,
    4093,   4093,   4093,   4093,   4093,   4093,   4093,   4093,
    4093,   4093,   4093,   4093,   4093,   4093,   4093,   4093,
    4093,   4093,   4093,   4093,   4093,   4093,   4093,   4093,
    4093,   4093,   4093,   4093,   4093,   4093,   4093,   4093,
    4093,   4093,   4093,   4093,   4093,   4093,   4093,   4093,
    4093,   4093,   4093,   4093,   4093,   4093,   4093,   4093,
    4093,   4093,   4093,   4093,   4093,   4093,   4093,   4093,
    4093,   4093,   4093,   4093,   4093,   4093,   4093,   4093,
    4093,   4093,   4093,   4093,   4093,   4093,   4093,   4093,
    4093,   4093,   4093,   4093,   4093,   4093,   4093,   4093,
    4093,   4093,   4093,   4093,   4093,   4093,   4093,   4093,
    4093,   4093,   4093,   4093,   4093,   4093,   4093,   4093,
    4093,   4093,   4093,   4093,   4093,   4093,   4093,   4093,
    4093,   4093,   4093,   4093,   4093,   4093,   4093,   4093,
    4093,   4093,   4093,   4093,   4093,   4093,   4093,   4093,
    4093,   4093,   4093,   4093,   4093,   4093,   4093,   4093,
    4093,   4093,   4093,   4093,   4093,   4093,   4093,   4093,
    4093,   4093,   4093,   4093,   4093,   4093,   4093,   4093,
    4093,   4093,   4093,   4093,   4093,   4093,   4093,   4093,
    4093,   4093,   4093,   4093,   4093,   4093,   4093,   4093,
    4093,   4093,   4093,   4093,   4093,   4093,   4093,   4093,
    4093,   4093,   4093,   4093,   4093,   4093,   4093,   4093,
    4093,   4093,   4093,   4093,   4093,   4093,   4093,   4093,
    4093,   4093,   4093,   4093,   4093,   4093,   4093,   4093,
};
const prog_uint16_t lut_res_fold[] PROGMEM = {
    2047,   2047,   2047,   2047,   2047,   2047,   2047,   2047,
    2047,   2047,   2047,   2047,   2047,   2047,   2047,   2047,
    2047,   2047,   2047,   2047,   2047,   2047,   2047,   2047,
    2047,   2047,   2047,   2047,   2047,   2047,   2047,   2047,
    2047,   2047,   2047,   2047,   2047,   2047,   2047,   2047,
    2047,   2047,   2047,   2047,   2047,   2047,   2047,   2047,
    2047,   2047,   2047,   2047,   2047,   2047,   2047,   2047,
    2047,   2047,   2047,   2047,   2047,   2047,   2047,   2047,
    2047,   2047,   2047,   2047,   2047,   2047,   2047,   2047,
    2047,   2047,   2047,   2047,   2047,   2047,   2047,   2047,
    2047,   2047,   2047,   2047,   2047,   2047,   2047,   2047,
    2047,   2047,   2047,   2047,   2047,   2047,   2047,   2047,
    2047,   2047,   2047,   2047,   2047,   2047,   2047,   2047,
    2047,   2047,   2047,   2047,   2047,   2047,   2047,   2047,
    2047,   2047,   2047,   2047,   2047,   2047,   2047,   2047,
    2047,   2047,   2047,   2047,   2047,   2047,   2047,   2047,
    2047,   2047,   2047,   2047,   2047,   2047,   2047,   2047,
    2047,   2047,   2047,   2047,   2047,   2047,   2047,   2047,
    2047,   2047,   2047,   2047,   2047,   2047,   2047,   2047,
    2047,   2047,   2047,   2047,   2047,   2047,   2047,   2047,
    2047,   2047,   2047,   2047,   2047,   2047,   2047,   2047,
    2047,   2047,   2047,   2047,   2047,   2047,   2047,   2047,
    2047,   2047,   2047,   2047,   2047,   2047,   2047,   2047,
    2047,   2047,   2047,   2047,   2047,   2047,   2047,   2047,
    2047,   2047,   2047,   2047,   2047,   2047,   2047,   2047,
    2047,   2047,   2047,   2047,   2047,   2047,   2047,   2047,
    2047,   2047,   2047,   2047,   2047,   2047,   2047,   2047,
    2047,   2047,   2047,   2047,   2047,   2047,   2047,   2047,
    2047,   2047,   2047,   2047,   2047,   2047,   2047,   2047,
    2047,   2047,   2047,   2047,   2047,   2047,   2047,   2047,
    2047,   2047,   2047,   2047,   2047,   2047,   2047,   2047,
    2047,   2047,   2047,   2047,   2047,   2047,   2047,   2047,
    2047,   2047,   2047,   2047,   2047,   2047,   2047,   2047,
    2047,   2047,   2047,   2047,   2047,   2047,   2047,   2047,
    2047,   2047,   2047,   2047,   2047,   2047,   2047,   2047,
    2047,   2047,   2047,   2047,   2047,   2047,   2047,   2047,
    2047,   2047,   2047,   2047,   2047,   2047,   2047,   2047,
    2047,   2047,   2047,   2047,   2047,   2047,   2047,   2047,
    2047,   2047,   2047,   2047,   2047,   2047,   2047,   2047,
    2047,   2047,   2047,   2047,   2047,   2047,   2047,   2047,
    2047,   2047,   2047,   2047,   2047,   2047,   2047,   2047,
    2047,   2047,   2047,   2047,   2047,   2047,   2047,   2047,
    2047,   2047,   2047,   2047,   2047,   2047,   2047,   2047,
    2047,   2047,   2047,   2047,   2047,   2047,   2047,   2047,
    2047,   2047,   2047,   2047,   2047,   2047,   2047,   2047,
    2047,   2047,   2047,   2047,   2047,   2047,   2047,   2047,
    2047,   2047,   2047,   2047,   2047,   2047,   2047,   2047,
    2047,   2047,   2047,   2047,   2047,   2047,   2047,   2047,
    2047,   2047,   2047,   2047,   2047,   2047,   2047,   2047,
    2047,   2047,   2047,   2047,   2047,   2047,   2047,   2047,
    2047,   2047,   2047,   2047,   2047,   2047,   2047,   2047,
    2047,   2047,   2047,   2047,   2047,   2047,   2047,   2047,
    2047,   2047,   2047,   2047,   2047,   2047,   2047,   2047,
    2047,   2047,   2047,   2047,   2047,   2047,   2047,   2047,
    2047,   2047,   2047,   2047,   2047,   2047,   2047,   2047,
    2047,   2047,   2047,   2047,   2047,   2047,   2047,   2047,
    2047,   2047,   2047,   2047,   2047,   2047,   2047,   2047,
    2047,   2047,   2047,   2047,   2047,   2047,   2047,   2047,
    2047,   2047,   2047,   2047,   2047,   2047,   2047,   2047,
    2047,   2047,   2047,   2047,   2047,   2047,   2047,   2047,
    2047,   2047,   2047,   2047,   2047,   2047,   2047,   2047,
    2047,   2047,   2047,   2047,   2047,   2047,   2047,   2047,
    2047,   2047,   2047,   2047,   2047,   2047,   2047,   2047,
    2047,   2047,   2047,   2047,   2047,   2047,   2047,   2047,
    2047,   2047,   2047,   2047,   2047,   2047,   2047,   2047,
    2047,   2047,   2047,   2047,   2047,   2047,   2047,   2047,
    2047,   2047,   2047,   2047,   2047,   2047,   2047,   2047,
    2047,   2047,   2047,   2047,   2047,   2047,   2047,   2047,
    2047,   2047,   2047,   2047,   2047,   2047,   2047,   2047,
    2047,   2047,   2047,   2047,   2047,   2047,   2047,   2047,
    2047,   2047,   2047,   2047,   2047,   2047,   2047,   2047,
    2047,   2047,   2047,   2047,   2047,   2047,   2047,   2047,
    2047,   2047,   2047,   2047,   2047,   2047,   2047,   2047,
    2047,   2047,   2047,   2047,   2047,   2047,   2047,   2047,
    2047,   2047,   2047,   2047,   2047,   2047,   2047,   2047,
    2047,   2047,   2047,   2047,   2047,   2047,   2047,   2047,
    2047,   2047,   2047,   2047,   2047,   2047,   2047,   2047,
    2047,   2047,   2047,   2047,   2047,   2047,   2047,   2047,
    2047,   2047,   2047,   2047,   2047,   2047,   2047,   2047,
    2047,   2047,   2047,   2047,   2047,   2047,   2047,   2047,
    2047,   2047,   2047,   2047,   2047,   2047,   2047,   2047,
    2047,   2047,   2047,   2047,   2047,   2047,   2047,   2047,
    2047,   2047,   2047,   2047,   2047,   2047,   2047,   2047,
    2047,   2047,   2047,   2047,   2047,   2047,   2047,   2047,
    2047,   2047,   2047,   2047,   2047,   2047,   2047,   2047,
    2047,   2047,   2047,   2047,   2047,   2047,   2047,   2047,
    2047,   2047,   2047,   2047,   2047,   2047,   2047,   2047,
    2047,   2047,   2047,   2047,   2047,   2047,   2047,   2047,
    2047,   2047,   2047,   2047,   2047,   2047,   2047,   2047,
    2047,   2047,   2047,   2047,   2047,   2047,   2047,   2047,
    2047,   2047,   2047,   2047,   2047,   2047,   2047,   2047,
    2047,   2047,   2047,   2047,   2047,   2047,   2047,   2047,
    2047,   2047,   2047,   2047,   2047,   2047,   2047,   2047,
    2047,   2047,   2047,   2047,   2047,   2047,   2047,   2047,
    2047,   2047,   2047,   2047,   2047,   2047,   2047,   2047,
    2047,   2047,   2047,   2047,   2047,   2047,   2047,   2047,
    2047,   2047,   2047,   2047,   2047,   2047,   2047,   2047,
    2047,   2047,   2047,   2047,   2047,   2047,   2047,   2047,
    2047,   2047,   2047,   2047,   2047,   2047,   2047,   2047,
    2047,   2047,   2047,   2047,   2047,   2047,   2047,   2047,
    2047,   2047,   2047,   2047,   2047,   2047,   2047,   2047,
    2047,   2047,   2047,   2047,   2047,   2047,   2047,   2047,
    2047,   2047,   2047,   2047,   2047,   2047,   2047,   2047,
    2047,   2047,   2047,   2047,   2047,   2047,   2047,   2047,
    2047,   2047,   2047,   2047,   2047,   2047,   2047,   2047,
    2047,   2047,   2047,   2047,   2047,   2047,   2047,   2047,
    2047,   2047,   2047,   2047,   2047,   2047,   2047,   2047,
    2047,   2047,   2047,   2047,   2047,   2047,   2047,   2047,
    2047,   2047,   2047,   2047,   2047,   2047,   2047,   2047,
    2047,   2047,   2047,   2047,   2047,   2047,   2047,   2047,
    2047,   2047,   2047,   2047,   2047,   2047,   2047,   2047,
    2047,   2047,   2047,   2047,   2047,   2047,   2047,   2047,
    2047,   2047,   2047,   2047,   2047,   2047,   2047,   2047,
    2047,   2047,   2047,   2047,   2047,   2047,   2047,   2047,
    2047,   2047,   2047,   2047,   2047,   2047,   2047,   2047,
    2047,   2047,   2047,   2047,   2047,   2047,   2047,   2047,
    2047,   2047,   2047,   2047,   2047,   2047,   2047,   2047,
    2047,   2047,   2047,   2047,   2047,   2047,   2047,   2047,
    2047,   2047,   2047,   2047,   2047,   2047,   2047,   2047,
    2047,   2047,   2047,   2047,   2047,   2047,   2047,   2047,
    2047,   2047,   2047,   2047,   2047,   2047,   2047,   2047,
    2047,   2047,   2047,   2046,   2046,   2046,   2046,   2046,
    2046,   2046,   2046,   2046,   2046,   2046,   2046,   2046,
    2046,   2046,   2046,   2046,   2046,   2046,   2046,   2046,
    2046,   2046,   2046,   2046,   2046,   2046,   2046,   2046,
    2046,   2046,   2046,   2046,   2046,   2046,   2046,   2046,
    2046,   2046,   2046,   2046,   2046,   2046,   2046,   2046,
    2046,   2046,   2046,   2046,   2046,   2046,   2046,   2046,
    2046,   2046,   2046,   2046,   2046,   2046,   2046,   2046,
    2046,   2046,   2046,   2046,   2046,   2046,   2046,   2046,
    2046,   2046,   2046,   2046,   2046,   2046,   2046,   2046,
    2046,   2046,   2045,   2045,   2045,   2045,   2045,   2045,
    2045,   2045,   2045,   2045,   2045,   2045,   2045,   2045,
    2045,   2045,   2045,   2045,   2045,   2045,   2045,   2045,
    2045,   2045,   2045,   2045,   2045,   2045,   2045,   2045,
    2045,   2045,   2045,   2045,   2045,   2045,   2045,   2045,
    2045,   2045,   2045,   2045,   2045,   2045,   2045,   2045,
    2044,   2044,   2044,   2044,   2044,   2044,   2044,   2044,
    2044,   2044,   2044,   2044,   2044,   2044,   2044,   2044,
    2044,   2044,   2044,   2044,   2044,   2044,   2044,   2044,
    2044,   2044,   2044,   2044,   2044,   2044,   2044,   2044,
    2044,   2043,   2043,   2043,   2043,   2043,   2043,   2043,
    2043,   2043,   2043,   2043,   2043,   2043,   2043,   2043,
    2043,   2043,   2043,   2043,   2043,   2043,   2043,   2043,
    2043,   2043,   2043,   2042,   2042,   2042,   2042,   2042,
    2042,   2042,   2042,   2042,   2042,   2042,   2042,   2042,
    2042,   2042,   2042,   2042,   2042,   2042,   2042,   2041,
    2041,   2041,   2041,   2041,   2041,   2041,   2041,   2041,
    2041,   2041,   2041,   2041,   2041,   2041,   2041,   2041,
    2041,   2040,   2040,   2040,   2040,   2040,   2040,   2040,
    2040,   2040,   2040,   2040,   2040,   2040,   2040,   2040,
    2039,   2039,   2039,   2039,   2039,   2039,   2039,   2039,
    2039,   2039,   2039,   2039,   2039,   2038,   2038,   2038,
    2038,   2038,   2038,   2038,   2038,   2038,   2038,   2038,
    2038,   2037,   2037,   2037,   2037,   2037,   2037,   2037,
    2037,   2037,   2037,   2037,   2036,   2036,   2036,   2036,
    2036,   2036,   2036,   2036,   2036,   2036,   2035,   2035,
    2035,   2035,   2035,   2035,   2035,   2035,   2035,   2034,
    2034,   2034,   2034,   2034,   2034,   2034,   2034,   2034,
    2033,   2033,   2033,   2033,   2033,   2033,   2033,   2033,
    2032,   2032,   2032,   2032,   2032,   2032,   2032,   2031,
    2031,   2031,   2031,   2031,   2031,   2031,   2030,   2030,
    2030,   2030,   2030,   2030,   2029,   2029,   2029,   2029,
    2029,   2029,   2029,   2028,   2028,   2028,   2028,   2028,
    2027,   2027,   2027,   2027,   2027,   2027,   2026,   2026,
    2026,   2026,   2026,   2025,   2025,   2025,   2025,   2025,
    2024,   2024,   2024,   2024,   2024,   2023,   2023,   2023,
    2023,   2023,   2022,   2022,   2022,   2022,   2021,   2021,
    2021,   2021,   2021,   2020,   2020,   2020,   2020,   2019,
    2019,   2019,   2019,   2018,   2018,   2018,   2018,   2017,
    2017,   2017,   2016,   2016,   2016,   2016,   2015,   2015,
    2015,   2014,   2014,   2014,   2014,   2013,   2013,   2013,
    2012,   2012,   2012,   2011,   2011,   2011,   2010,   2010,
    2010,   2010,   2009,   2009,   2008,   2008,   2008,   2007,
    2007,   2007,   2006,   2006,   2006,   2005,   2005,   2005,
    2004,   2004,   2003,   2003,   2003,   2002,   2002,   2001,
    2001,   2001,   2000,   2000,   1999,   1999,   1999,   1998,
    1998,   1997,   1997,   1996,   1996,   1995,   1995,   1994,
    1994,   1994,   1993,   1993,   1992,   1992,   1991,   1991,
    1990,   1990,   1989,   1989,   1988,   1988,   1987,   1987,
    1986,   1985,   1985,   1984,   1984,   1983,   1983,   1982,
    1982,   1981,   1980,   1980,   1979,   1979,   1978,   1977,
    1977,   1976,   1976,   1975,   1974,   1974,   1973,   1972,
    1972,   1971,   1970,   1970,   1969,   1968,   1968,   1967,
    1966,   1965,   1965,   1964,   1963,   1963,   1962,   1961,
    1960,   1959,   1959,   1958,   1957,   1956,   1956,   1955,
    1954,   1953,   1952,   1951,   1951,   1950,   1949,   1948,
    1947,   1946,   1945,   1945,   1944,   1943,   1942,   1941,
    1940,   1939,   1938,   1937,   1936,   1935,   1934,   1933,
    1932,   1931,   1930,   1929,   1928,   1927,   1926,   1925,
    1924,   1923,   1922,   1921,   1919,   1918,   1917,   1916,
    1915,   1914,   1913,   1911,   1910,   1909,   1908,   1907,
    1905,   1904,   1903,   1902,   1900,   1899,   1898,   1897,
    1895,   1894,   1893,   1891,   1890,   1888,   1887,   1886,
    1884,   1883,   1881,   1880,   1879,   1877,   1876,   1874,
    1873,   1871,   1870,   1868,   1866,   1865,   1863,   1862,
    1860,   1858,   1857,   1855,   1853,   1852,   1850,   1848,
    1847,   1845,   1843,   1841,   1840,   1838,   1836,   1834,
    1832,   1830,   1829,   1827,   1825,   1823,   1821,   1819,
    1817,   1815,   1813,   1811,   1809,   1807,   1805,   1803,
    1801,   1798,   1796,   1794,   1792,   1790,   1787,   1785,
    1783,   1781,   1778,   1776,   1774,   1771,   1769,   1767,
    1764,   1762,   1759,   1757,   1754,   1752,   1749,   1747,
    1744,   1742,   1739,   1736,   1734,   1731,   1728,   1726,
    1723,   1720,   1717,   1715,   1712,   1709,   1706,   1703,
    1700,   1697,   1694,   1691,   1688,   1685,   1682,   1679,
    1676,   1673,   1669,   1666,   1663,   1660,   1656,   1653,
    1650,   1646,   1643,   1640,   1636,   1633,   1629,   1626,
    1622,   1619,   1615,   1611,   1608,   1604,   1600,   1597,
    1593,   1589,   1585,   1581,   1577,   1574,   1570,   1566,
    1562,   1558,   1553,   1549,   1545,   1541,   1537,   1533,
    1528,   1524,   1520,   1515,   1511,   1506,   1502,   1498,
    1493,   1488,   1484,   1479,   1475,   1470,   1465,   1460,
    1456,   1451,   1446,   1441,   1436,   1431,   1426,   1421,
    1416,   1411,   1406,   1400,   1395,   1390,   1385,   1379,
    1374,   1368,   1363,   1358,   1352,   1346,   1341,   1335,
    1330,   1324,   1318,   1312,   1306,   1301,   1295,   1289,
    1283,   1277,   1271,   1265,   1258,   1252,   1246,   1240,
    1233,   1227,   1221,   1214,   1208,   1201,   1195,   1188,
    1182,   1175,   1168,   1162,   1155,   1148,   1141,   1134,
    1127,   1120,   1113,   1106,   1099,   1092,   1085,   1078,
    1071,   1063,   1056,   1049,   1041,   1034,   1027,   1019,
    1012,   1004,    996,    989,    981,    973,    966,    958,
     950,    942,    934,    926,    918,    911,    903,    894,
     886,    878,    870,    862,    854,    846,    837,    829,
     821,    813,    804,    796,    787,    779,    771,    762,
     754,    745,    736,    728,    719,    711,    702,    694,
     685,    676,    668,    659,    650,    641,    633,    624,
     615,    607,    598,    589,    580,    572,    563,    554,
     545,    537,    528,    519,    510,    502,    493,    484,
     476,    467,    458,    450,    441,    432,    424,    415,
     407,    398,    390,    381,    373,    364,    356,    348,
     339,    331,    323,    315,    307,    299,    291,    283,
     275,    267,    259,    252,    244,    236,    229,    222,
     214,    207,    200,    193,    186,    179,    172,    165,
     158,    152,    145,    139,    133,    127,    121,    115,
     109,    103,     98,     92,     87,     82,     77,     72,
      67,     62,     58,     53,     49,     45,     41,     37,
      34,     31,     27,     24,     21,     19,     16,     14,
      12,     10,      8,      6,      5,      4,      3,      2,
       1,      1,      1,      1,      1,      2,      3,      4,
       5,      6,      8,     10,     12,     15,     17,     20,
      24,     27,     31,     35,     39,     44,     48,     53,
      59,     64,     70,     76,     83,     89,     97,    104,
     111,    119,    127,    136,    145,    154,    163,    173,
     183,    193,    203,    214,    225,    237,    249,    261,
     273,    286,    299,    312,    325,    339,    354,    368,
     383,    398,    413,    429,    445,    461,    478,    495,
     512,    529,    547,    565,    584,    602,    621,    640,
     660,    679,    699,    720,    740,    761,    782,    804,
     825,    847,    869,    891,    914,    937,    960,    983,
    1007,   1031,   1055,   1079,   1103,   1128,   1152,   1177,
    1203,   1228,   1254,   1279,   1305,   1331,   1357,   1384,
    1410,   1437,   1464,   1491,   1518,   1545,   1572,   1600,
    1627,   1655,   1682,   1710,   1738,   1766,   1794,   1822,
    1850,   1878,   1906,   1934,   1963,   1991,   2019,   2047,
    2076,   2104,   2132,   2161,   2189,   2217,   2245,   2273,
    2301,   2329,   2357,   2385,   2413,   2440,   2468,   2495,
    2523,   2550,   2577,   2604,   2631,   2658,   2685,   2711,
    2738,   2764,   2790,   2816,   2841,   2867,   2892,   2918,
    2943,   2967,   2992,   3016,   3040,   3064,   3088,   3112,
    3135,   3158,   3181,   3204,   3226,   3248,   3270,   3291,
    3313,   3334,   3355,   3375,   3396,   3416,   3435,   3455,
    3474,   3493,   3511,   3530,   3548,   3566,   3583,   3600,
    3617,   3634,   3650,   3666,   3682,   3697,   3712,   3727,
    3741,   3756,   3770,   3783,   3796,   3809,   3822,   3834,
    3846,   3858,   3870,   3881,   3892,   3902,   3912,   3922,
    3932,   3941,   3950,   3959,   3968,   3976,   3984,   3991,
    3998,   4006,   4012,   4019,   4025,   4031,   4036,   4042,
    4047,   4051,   4056,   4060,   4064,   4068,   4071,   4075,
    4078,   4080,   4083,   4085,   4087,   4089,   4090,   4091,
    4092,   4093,   4094,   4094,   4094,   4094,   4094,   4093,
    4092,   4091,   4090,   4089,   4087,   4085,   4083,   4081,
    4079,   4076,   4074,   4071,   4068,   4064,   4061,   4058,
    4054,   4050,   4046,   4042,   4037,   4033,   4028,   4023,
    4018,   4013,   4008,   4003,   3997,   3992,   3986,   3980,
    3974,   3968,   3962,   3956,   3950,   3943,   3937,   3930,
    3923,   3916,   3909,   3902,   3895,   3888,   3881,   3873,
    3866,   3859,   3851,   3843,   3836,   3828,   3820,   3812,
    3804,   3796,   3788,   3780,   3772,   3764,   3756,   3747,
    3739,   3731,   3722,   3714,   3705,   3697,   3688,   3680,
    3671,   3663,   3654,   3645,   3637,   3628,   3619,   3611,
    3602,   3593,   3585,   3576,   3567,   3558,   3550,   3541,
    3532,   3523,   3515,   3506,   3497,   3488,   3480,   3471,
    3462,   3454,   3445,   3436,   3427,   3419,   3410,   3401,
    3393,   3384,   3376,   3367,   3359,   3350,   3341,   3333,
    3324,   3316,   3308,   3299,   3291,   3282,   3274,   3266,
    3258,   3249,   3241,   3233,   3225,   3217,   3209,   3201,
    3192,   3184,   3177,   3169,   3161,   3153,   3145,   3137,
    3129,   3122,   3114,   3106,   3099,   3091,   3083,   3076,
    3068,   3061,   3054,   3046,   3039,   3032,   3024,   3017,
    3010,   3003,   2996,   2989,   2982,   2975,   2968,   2961,
    2954,   2947,   2940,   2933,   2927,   2920,   2913,   2907,
    2900,   2894,   2887,   2881,   2874,   2868,   2862,   2855,
    2849,   2843,   2837,   2830,   2824,   2818,   2812,   2806,
    2800,   2794,   2789,   2783,   2777,   2771,   2765,   2760,
    2754,   2749,   2743,   2737,   2732,   2727,   2721,   2716,
    2710,   2705,   2700,   2695,   2689,   2684,   2679,   2674,
    2669,   2664,   2659,   2654,   2649,   2644,   2639,   2635,
    2630,   2625,   2620,   2616,   2611,   2607,   2602,   2597,
    2593,   2589,   2584,   2580,   2575,   2571,   2567,   2562,
    2558,   2554,   2550,   2546,   2542,   2537,   2533,   2529,
    2525,   2521,   2518,   2514,   2510,   2506,   2502,   2498,
    2495,   2491,   2487,   2484,   2480,   2476,   2473,   2469,
    2466,   2462,   2459,   2455,   2452,   2449,   2445,   2442,
    2439,   2435,   2432,   2429,   2426,   2422,   2419,   2416,
    2413,   2410,   2407,   2404,   2401,   2398,   2395,   2392,
    2389,   2386,   2383,   2380,   2378,   2375,   2372,   2369,
    2367,   2364,   2361,   2359,   2356,   2353,   2351,   2348,
    2346,   2343,   2341,   2338,   2336,   2333,   2331,   2328,
    2326,   2324,   2321,   2319,   2317,   2314,   2312,   2310,
    2308,   2305,   2303,   2301,   2299,   2297,   2294,   2292,
    2290,   2288,   2286,   2284,   2282,   2280,   2278,   2276,
    2274,   2272,   2270,   2268,   2266,   2265,   2263,   2261,
    2259,   2257,   2255,   2254,   2252,   2250,   2248,   2247,
    2245,   2243,   2242,   2240,   2238,   2237,   2235,   2233,
    2232,   2230,   2229,   2227,   2225,   2224,   2222,   2221,
    2219,   2218,   2216,   2215,   2214,   2212,   2211,   2209,
    2208,   2207,   2205,   2204,   2202,   2201,   2200,   2198,
    2197,   2196,   2195,   2193,   2192,   2191,   2190,   2188,
    2187,   2186,   2185,   2184,   2182,   2181,   2180,   2179,
    2178,   2177,   2176,   2174,   2173,   2172,   2171,   2170,
    2169,   2168,   2167,   2166,   2165,   2164,   2163,   2162,
    2161,   2160,   2159,   2158,   2157,   2156,   2155,   2154,
    2153,   2152,   2151,   2150,   2150,   2149,   2148,   2147,
    2146,   2145,   2144,   2144,   2143,   2142,   2141,   2140,
    2139,   2139,   2138,   2137,   2136,   2136,   2135,   2134,
    2133,   2132,   2132,   2131,   2130,   2130,   2129,   2128,
    2127,   2127,   2126,   2125,   2125,   2124,   2123,   2123,
    2122,   2121,   2121,   2120,   2119,   2119,   2118,   2118,
    2117,   2116,   2116,   2115,   2115,   2114,   2113,   2113,
    2112,   2112,   2111,   2111,   2110,   2110,   2109,   2108,
    2108,   2107,   2107,   2106,   2106,   2105,   2105,   2104,
    2104,   2103,   2103,   2102,   2102,   2101,   2101,   2101,
    2100,   2100,   2099,   2099,   2098,   2098,   2097,   2097,
    2096,   2096,   2096,   2095,   2095,   2094,   2094,   2094,
    2093,   2093,   2092,   2092,   2092,   2091,   2091,   2090,
    2090,   2090,   2089,   2089,   2089,   2088,   2088,   2088,
    2087,   2087,   2087,   2086,   2086,   2085,   2085,   2085,
    2085,   2084,   2084,   2084,   2083,   2083,   2083,   2082,
    2082,   2082,   2081,   2081,   2081,   2081,   2080,   2080,
    2080,   2079,   2079,   2079,   2079,   2078,   2078,   2078,
    2077,   2077,   2077,   2077,   2076,   2076,   2076,   2076,
    2075,   2075,   2075,   2075,   2074,   2074,   2074,   2074,
    2074,   2073,   2073,   2073,   2073,   2072,   2072,   2072,
    2072,   2072,   2071,   2071,   2071,   2071,   2071,   2070,
    2070,   2070,   2070,   2070,   2069,   2069,   2069,   2069,
    2069,   2068,   2068,   2068,   2068,   2068,   2068,   2067,
    2067,   2067,   2067,   2067,   2066,   2066,   2066,   2066,
    2066,   2066,   2066,   2065,   2065,   2065,   2065,   2065,
    2065,   2064,   2064,   2064,   2064,   2064,   2064,   2064,
    2063,   2063,   2063,   2063,   2063,   2063,   2063,   2062,
    2062,   2062,   2062,   2062,   2062,   2062,   2062,   2061,
    2061,   2061,   2061,   2061,   2061,   2061,   2061,   2061,
    2060,   2060,   2060,   2060,   2060,   2060,   2060,   2060,
    2060,   2059,   2059,   2059,   2059,   2059,   2059,   2059,
    2059,   2059,   2059,   2058,   2058,   2058,   2058,   2058,
    2058,   2058,   2058,   2058,   2058,   2058,   2057,   2057,
    2057,   2057,   2057,   2057,   2057,   2057,   2057,   2057,
    2057,   2057,   2056,   2056,   2056,   2056,   2056,   2056,
    2056,   2056,   2056,   2056,   2056,   2056,   2056,   2055,
    2055,   2055,   2055,   2055,   2055,   2055,   2055,   2055,
    2055,   2055,   2055,   2055,   2055,   2055,   2054,   2054,
    2054,   2054,   2054,   2054,   2054,   2054,   2054,   2054,
    2054,   2054,   2054,   2054,   2054,   2054,   2054,   2054,
    2053,   2053,   2053,   2053,   2053,   2053,   2053,   2053,
    2053,   2053,   2053,   2053,   2053,   2053,   2053,   2053,
    2053,   2053,   2053,   2053,   2052,   2052,   2052,   2052,
    2052,   2052,   2052,   2052,   2052,   2052,   2052,   2052,
    2052,   2052,   2052,   2052,   2052,   2052,   2052,   2052,
    2052,   2052,   2052,   2052,   2052,   2052,   2051,   2051,
    2051,   2051,   2051,   2051,   2051,   2051,   2051,   2051,
    2051,   2051,   2051,   2051,   2051,   2051,   2051,   2051,
    2051,   2051,   2051,   2051,   2051,   2051,   2051,   2051,
    2051,   2051,   2051,   2051,   2051,   2051,   2051,   2050,
    2050,   2050,   2050,   2050,   2050,   2050,   2050,   2050,
    2050,   2050,   2050,   2050,   2050,   2050,   2050,   2050,
    2050,   2050,   2050,   2050,   2050,   2050,   2050,   2050,
    2050,   2050,   2050,   2050,   2050,   2050,   2050,   2050,
    2050,   2050,   2050,   2050,   2050,   2050,   2050,   2050,
    2050,   2050,   2050,   2050,   2050,   2049,   2049,   2049,
    2049,   2049,   2049,   2049,   2049,   2049,   2049,   2049,
    2049,   2049,   2049,   2049,   2049,   2049,   2049,   2049,
    2049,   2049,   2049,   2049,   2049,   2049,   2049,   2049,
    2049,   2049,   2049,   2049,   2049,   2049,   2049,   2049,
    2049,   2049,   2049,   2049,   2049,   2049,   2049,   2049,
    2049,   2049,   2049,   2049,   2049,   2049,   2049,   2049,
    2049,   2049,   2049,   2049,   2049,   2049,   2049,   2049,
    2049,   2049,   2049,   2049,   2049,   2049,   2049,   2049,
    2049,   2049,   2049,   2049,   2049,   2049,   2049,   2049,
    2049,   2049,   2049,   2049,   2048,   2048,   2048,   2048,
    2048,   2048,   2048,   2048,   2048,   2048,   2048,   2048,
    2048,   2048,   2048,   2048,   2048,   2048,   2048,   2048,
    2048,   2048,   2048,   2048,   2048,   2048,   2048,   2048,
    2048,   2048,   2048,   2048,   2048,   2048,   2048,   2048,
    2048,   2048,   2048,   2048,   2048,   2048,   2048,   2048,
    2048,   2048,   2048,   2048,   2048,   2048,   2048,   2048,
    2048,   2048,   2048,   2048,   2048,   2048,   2048,   2048,
    2048,   2048,   2048,   2048,   2048,   2048,   2048,   2048,
    2048,   2048,   2048,   2048,   2048,   2048,   2048,   2048,
    2048,   2048,   2048,   2048,   2048,   2048,   2048,   2048,
    2048,   2048,   2048,   2048,   2048,   2048,   2048,   2048,
    2048,   2048,   2048,   2048,   2048,   2048,   2048,   2048,
    2048,   2048,   2048,   2048,   2048,   2048,   2048,   2048,
    2048,   2048,   2048,   2048,   2048,   2048,   2048,   2048,
    2048,   2048,   2048,   2048,   2048,   2048,   2048,   2048,
    2048,   2048,   2048,   2048,   2048,   2048,   2048,   2048,
    2048,   2048,   2048,   2048,   2048,   2048,   2048,   2048,
    2048,   2048,   2048,   2048,   2048,   2048,   2048,   2048,
    2048,   2048,   2048,   2048,   2048,   2048,   2048,   2048,
    2048,   2048,   2048,   2048,   2048,   2048,   2048,   2048,
    2048,   2048,   2048,   2048,   2048,   2048,   2048,   2048,
    2048,   2048,   2048,   2048,   2048,   2048,   2048,   2048,
    2048,   2048,   2048,   2048,   2048,   2048,   2048,   2048,
    2048,   2048,   2048,   2048,   2048,   2048,   2048,   2048,
    2048,   2048,   2048,   2048,   2048,   2048,   2048,   2048,
    2048,   2048,   2048,   2048,   2048,   2048,   2048,   2048,
    2048,   2048,   2048,   2048,   2048,   2048,   2048,   2048,
    2048,   2048,   2048,   2048,   2048,   2048,   2048,   2048,
    2048,   2048,   2048,   2048,   2048,   2048,   2048,   2048,
    2048,   2048,   2048,   2048,   2048,   2048,   2048,   2048,
    2048,   2048,   2048,   2048,   2048,   2048,   2048,   2048,
    2048,   2048,   2048,   2048,   2048,   2048,   2048,   2048,
    2048,   2048,   2048,   2048,   2048,   2048,   2048,   2048,
    2048,   2048,   2048,   2048,   2048,   2048,   2048,   2048,
    2048,   2048,   2048,   2048,   2048,   2048,   2048,   2048,
    2048,   2048,   2048,   2048,   2048,   2048,   2048,   2048,
    2048,   2048,   2048,   2048,   2048,   2048,   2048,   2048,
    2048,   2048,   2048,   2048,   2048,   2048,   2048,   2048,
    2048,   2048,   2048,   2048,   2048,   2048,   2048,   2048,
    2048,   2048,   2048,   2048,   2048,   2048,   2048,   2048,
    2048,   2048,   2048,   2048,   2048,   2048,   2048,   2048,
    2048,   2048,   2048,   2048,   2048,   2048,   2048,   2048,
    2048,   2048,   2048,   2048,   2048,   2048,   2048,   2048,
    2048,   2048,   2048,   2048,   2048,   2048,   2048,   2048,
    2048,   2048,   2048,   2048,   2048,   2048,   2048,   2048,
    2048,   2048,   2048,   2048,   2048,   2048,   2048,   2048,
    2048,   2048,   2048,   2048,   2048,   2048,   2048,   2048,
    2048,   2048,   2048,   2048,   2048,   2048,   2048,   2048,
    2048,   2048,   2048,   2048,   2048,   2048,   2048,   2048,
    2048,   2048,   2048,   2048,   2048,   2048,   2048,   2048,
    2048,   2048,   2048,   2048,   2048,   2048,   2048,   2048,
    2048,   2048,   2048,   2048,   2048,   2048,   2048,   2048,
    2048,   2048,   2048,   2048,   2048,   2048,   2048,   2048,
    2048,   2048,   2048,   2048,   2048,   2048,   2048,   2048,
    2048,   2048,   2048,   2048,   2048,   2048,   2048,   2048,
    2048,   2048,   2048,   2048,   2048,   2048,   2048,   2048,
    2048,   2048,   2048,   2048,   2048,   2048,   2048,   2048,
    2048,   2048,   2048,   2048,   2048,   2048,   2048,   2048,
    2048,   2048,   2048,   2048,   2048,   2048,   2048,   2048,
    2048,   2048,   2048,   2048,   2048,   2048,   2048,   2048,
    2048,   2048,   2048,   2048,   2048,   2048,   2048,   2048,
    2048,   2048,   2048,   2048,   2048,   2048,   2048,   2048,
    2048,   2048,   2048,   2048,   2048,   2048,   2048,   2048,
    2048,   2048,   2048,   2048,   2048,   2048,   2048,   2048,
    2048,   2048,   2048,   2048,   2048,   2048,   2048,   2048,
    2048,   2048,   2048,   2048,   2048,   2048,   2048,   2048,
    2048,   2048,   2048,   2048,   2048,   2048,   2048,   2048,
    2048,   2048,   2048,   2048,   2048,   2048,   2048,   2048,
    2048,   2048,   2048,   2048,   2048,   2048,   2048,   2048,
    2048,   2048,   2048,   2048,   2048,   2048,   2048,   2048,
    2048,   2048,   2048,   2048,   2048,   2048,   2048,   2048,
    2048,   2048,   2048,   2048,   2048,   2048,   2048,   2048,
    2048,   2048,   2048,   2048,   2048,   2048,   2048,   2048,
    2048,   2048,   2048,   2048,   2048,   2048,   2048,   2048,
    2048,   2048,   2048,   2048,   2048,   2048,   2048,   2048,
    2048,   2048,   2048,   2048,   2048,   2048,   2048,   2048,
    2048,   2048,   2048,   2048,   2048,   2048,   2048,   2048,
    2048,   2048,   2048,   2048,   2048,   2048,   2048,   2048,
    2048,   2048,   2048,   2048,   2048,   2048,   2048,   2048,
    2048,   2048,   2048,   2048,   2048,   2048,   2048,   2048,
    2048,   2048,   2048,   2048,   2048,   2048,   2048,   2048,
    2048,   2048,   2048,   2048,   2048,   2048,   2048,   2048,
    2048,   2048,   2048,   2048,   2048,   2048,   2048,   2048,
    2048,   2048,   2048,   2048,   2048,   2048,   2048,   2048,
    2048,   2048,   2048,   2048,   2048,   2048,   2048,   2048,
    2048,   2048,   2048,   2048,   2048,   2048,   2048,   2048,
    2048,   2048,   2048,   2048,   2048,   2048,   2048,   2048,
    2048,   2048,   2048,   2048,   2048,   2048,   2048,   2048,
    2048,   2048,   2048,   2048,   2048,   2048,   2048,   2048,
    2048,   2048,   2048,   2048,   2048,   2048,   2048,   2048,
    2048,   2048,   2048,   2048,   2048,   2048,   2048,   2048,
    2048,   2048,   2048,   2048,   2048,   2048,   2048,   2048,
    2048,   2048,   2048,   2048,   2048,   2048,   2048,   2048,
    2048,   2048,   2048,   2048,   2048,   2048,   2048,   2048,
    2048,   2048,   2048,   2048,   2048,   2048,   2048,   2048,
    2048,   2048,   2048,   2048,   2048,   2048,   2048,   2048,
    2048,   2048,   2048,   2048,   2048,   2048,   2048,   2048,
    2048,   2048,   2048,   2048,   2048,   2048,   2048,   2048,
    2048,   2048,   2048,   2048,   2048,   2048,   2048,   2048,
    2048,   2048,   2048,   2048,   2048,   2048,   2048,   2048,
    2048,   2048,   2048,   2048,   2048,   2048,   2048,   2048,
    2048,   2048,   2048,   2048,   2048,   2048,   2048,   2048,
    2048,   2048,   2048,   2048,   2048,   2048,   2048,   2048,
    2048,   2048,   2048,   2048,   2048,   2048,   2048,   2048,
    2048,   2048,   2048,   2048,   2048,   2048,   2048,   2048,
    2048,   2048,   2048,   2048,   2048,   2048,   2048,   2048,
    2048,   2048,   2048,   2048,   2048,   2048,   2048,   2048,
    2048,   2048,   2048,   2048,   2048,   2048,   2048,   2048,
    2048,   2048,   2048,   2048,   2048,   2048,   2048,   2048,
    2048,   2048,   2048,   2048,   2048,   2048,   2048,   2048,
    2048,   2048,   2048,   2048,   2048,   2048,   2048,   2048,
    2048,   2048,   2048,   2048,   2048,   2048,   2048,   2048,
    2048,   2048,   2048,   2048,   2048,   2048,   2048,   2048,
    2048,   2048,   2048,   2048,   2048,   2048,   2048,   2048,
    2048,   2048,   2048,   2048,   2048,   2048,   2048,   2048,
    2048,   2048,   2048,   2048,   2048,   2048,   2048,   2048,
    2048,   2048,   2048,   2048,   2048,   2048,   2048,   2048,
    2048,   2048,   2048,   2048,   2048,   2048,   2048,   2048,
    2048,   2048,   2048,   2048,   2048,   2048,   2048,   2048,
    2048,   2048,   2048,   2048,   2048,   2048,   2048,   2048,
    2048,   2048,   2048,   2048,   2048,   2048,   2048,   2048,
};
const prog_uint16_t lut_res_integrator_gain[] PROGMEM = {
      60,     62,     64,     66,     68,     70,     72,     74,
      76,     78,     81,     83,     86,     88,     91,     93,
      96,     99,    102,    105,    108,    111,    114,    118,
     121,    124,    128,    132,    136,    140,    144,    148,
     152,    157,    161,    166,    171,    176,    181,    187,
     192,    198,    203,    209,    216,    222,    228,    235,
     242,    249,    256,    264,    272,    279,    288,    296,
     305,    314,    323,    332,    342,    352,    362,    373,
     384,    395,    407,    419,    431,    444,    457,    470,
     484,    498,    513,    528,    543,    559,    575,    592,
     610,    627,    646,    665,    684,    704,    725,    746,
     768,    790,    814,    837,    862,    887,    913,    940,
     968,    996,   1025,   1055,   1086,   1118,   1151,   1184,
    1219,   1255,   1292,   1329,   1368,   1408,   1450,   1492,
    1536,   1581,   1627,   1675,   1724,   1775,   1827,   1880,
    1935,   1992,   2050,   2110,   2172,   2236,   2301,   2369,
    2438,   2510,   2583,   2659,   2737,   2817,   2900,   2985,
    3072,   3162,   3255,   3350,   3448,   3549,   3653,   3760,
    3870,   3984,   4101,   4221,   4344,   4472,   4603,   4738,
    4876,   5019,   5166,   5318,   5474,   5634,   5799,   5969,
    6144,   6324,   6509,   6700,   6896,   7098,   7306,   7520,
    7741,   7968,   8201,   8441,   8689,   8943,   9205,   9475,
    9753,  10039,  10333,  10636,  10947,  11268,  11598,  11938,
   12288,  12648,  13018,  13400,  13793,  14197,  14613,  15041,
   15482,  15935,  16402,  16883,  17378,  17887,  18411,  18950,
   19506,  20077,  20666,  21271,  21894,  22536,  23196,  23876,
   24576,  25296,  26037,  26800,  27585,  28394,  29226,  30082,
   30963,  31871,  32805,  33766,  34755,  35774,  36822,  37901,
   39011,  40154,  41331,  42542,  43789,  45072,  46393,  47752,
   49151,  50591,  52074,  53600,  55170,  56787,  58451,  60164,
   61927,  63741,  65535,  65535,  65535,  65535,  65535,  65535,
   65535,  65535,  65535,  65535,  65535,  65535,  65535,  65535,
};
const prog_uint16_t lut_res_comb_delays[] PROGMEM = {
    1024,   1024,   1024,   1024,   1024,   1024,   1024,   1024,
    1024,   1024,   1024,   1024,   1024,   1024,   1024,   1024,
    1024,   1024,   1024,   1024,   1024,   1024,   1024,   1024,
    1024,   1024,   1024,   1024,   1024,   1024,   1024,   1024,
    1024,   1024,   1024,   1024,   1024,   1024,   1024,   1024,
    1024,    995,    967,    939,    912,    886,    861,    837,
     813,    790,    767,    745,    724,    703,    683,    664,
     645,    627,    609,    592,    575,    558,    542,    527,
     512,    497,    483,    470,    456,    443,    431,    418,
     406,    395,    384,    373,    362,    352,    342,    332,
     323,    313,    304,    296,    287,    279,    271,    264,
     256,    249,    242,    235,    228,    222,    215,    209,
     203,    197,    192,    186,    181,    176,    171,    166,
     161,    157,    152,    148,    144,    140,    136,    132,
     128,    124,    121,    117,    114,    111,    108,    105,
     102,     99,     96,     93,     91,     88,     85,     83,
      81,     78,     76,     74,     72,     70,     68,     66,
      64,     62,     60,     59,     57,     55,     54,     52,
      51,     49,     48,     47,     45,     44,     43,     41,
      40,     39,     38,     37,     36,     35,     34,     33,
      32,     31,     30,     29,     29,     28,     27,     26,
      25,     25,     24,     23,     23,     22,     21,     21,
      20,     20,     19,     18,     18,     17,     17,     16,
      16,     16,     15,     15,     14,     14,     13,     13,
      13,     12,     12,     12,     11,     11,     11,     10,
      10,     10,     10,      9,      9,      9,      8,      8,
       8,      8,      8,      7,      7,      7,      7,      7,
       6,      6,      6,      6,      6,      5,      5,      5,
       5,      5,      5,      5,      4,      4,      4,      4,
       4,      4,      4,      4,      4,      3,      3,      3,
       3,      3,      3,      3,      3,      3,      3,      3,
       3,      2,      2,      2,      2,      2,      2,      2,
};
const prog_uint16_t lut_res_phase_increment[] PROGMEM = {
      10,     10,     10,     10,     11,     11,     11,     12,
      12,     13,     13,     13,     14,     14,     15,     15,
      16,     16,     16,     17,     17,     18,     19,     19,
      20,     20,     21,     21,     22,     23,     23,     24,
      25,     26,     26,     27,     28,     29,     30,     31,
      32,     32,     33,     34,     35,     36,     38,     39,
      40,     41,     42,     43,     45,     46,     47,     49,
      50,     52,     53,     55,     57,     58,     60,     62,
      64,     65,     67,     69,     71,     73,     76,     78,
      80,     82,     85,     87,     90,     93,     95,     98,
     101,    104,    107,    110,    114,    117,    120,    124,
     128,    131,    135,    139,    143,    147,    152,    156,
     161,    165,    170,    175,    181,    186,    191,    197,
     203,    209,    215,    221,    228,    234,    241,    248,
     256,    263,    271,    279,    287,    295,    304,    313,
     322,    331,    341,    351,    362,    372,    383,    394,
     406,    418,    430,    443,    456,    469,    483,    497,
     512,    527,    542,    558,    574,    591,    608,    626,
     645,    663,    683,    703,    724,    745,    767,    789,
     812,    836,    861,    886,    912,    939,    966,    994,
    1024,   1054,   1084,   1116,   1149,   1183,   1217,   1253,
    1290,   1327,   1366,   1406,   1448,   1490,   1534,   1579,
    1625,   1673,   1722,   1772,   1824,   1878,   1933,   1989,
    2048,   2108,   2169,   2233,   2298,   2366,   2435,   2506,
    2580,   2655,   2733,   2813,   2896,   2981,   3068,   3158,
    3250,   3346,   3444,   3545,   3649,   3756,   3866,   3979,
    4096,   4216,   4339,   4466,   4597,   4732,   4870,   5013,
    5160,   5311,   5467,   5627,   5792,   5962,   6137,   6316,
    6501,   6692,   6888,   7090,   7298,   7512,   7732,   7958,
    8192,   8432,   8679,   8933,   9195,   9464,   9741,  10027,
   10321,  10623,  10935,  11255,  11585,  11924,  12274,  12633,
   13003,  13385,  13777,  14180,  14596,  15024,  15464,  15917,
};
const prog_uint16_t lut_res_delay_duration[] PROGMEM = {
     980,   1007,   1034,   1062,   1090,   1118,   1146,   1175,
    1205,   1234,   1264,    863,    884,    904,    925,    947,
     968,    990,   1012,   1034,   1056,   1079,   1102,   1125,
    1148,   1172,   1196,   1220,   1244,   1269,    970,    989,
    1008,   1027,   1047,   1066,   1086,   1106,   1126,   1146,
    1166,   1187,   1208,   1229,   1250,   1271,   1034,   1051,
    1069,   1087,   1104,   1122,   1140,   1159,   1177,   1195,
    1214,   1233,   1252,   1271,   1075,   1091,   1107,   1124,
    1140,   1157,   1174,   1191,   1208,   1225,   1242,   1259,
    1277,   1109,   1125,   1140,   1155,   1171,   1186,   1202,
    1218,   1234,   1250,   1266,   1122,   1136,   1150,   1165,
    1179,   1194,   1209,   1223,   1238,   1253,   1268,   1141,
    1155,   1168,   1182,   1196,   1210,   1224,   1238,   1252,
    1266,   1152,   1165,   1178,   1191,   1204,   1218,   1231,
    1244,   1258,   1271,   1168,   1180,   1193,   1205,   1218,
    1231,   1243,   1256,   1269,   1175,   1187,   1199,   1211,
    1223,   1235,   1248,   1260,   1272,   1186,   1197,   1209,
    1220,   1232,   1244,   1256,   1267,   1188,   1199,   1210,
    1221,   1233,   1244,   1255,   1267,   1278,   1204,   1214,
    1225,   1236,   1247,   1258,   1269,   1200,   1211,   1221,
    1232,   1242,   1253,   1263,   1274,   1209,   1219,   1230,
    1240,   1250,   1260,   1271,   1210,   1220,   1230,   1240,
    1250,   1260,   1270,   1213,   1222,   1232,   1242,   1251,
    1261,   1271,   1217,   1226,   1235,   1245,   1254,   1264,
    1273,   1222,   1231,   1240,   1250,   1259,   1268,   1278,
    1228,   1237,   1246,   1256,   1265,   1274,   1227,   1236,
    1245,   1254,   1262,   1271,   1227,   1236,   1244,   1253,
    1262,   1270,   1228,   1236,   1245,   1253,   1262,   1270,
    1279,   1238,   1246,   1255,   1263,   1271,   1232,   1241,
    1249,   1257,   1265,   1273,   1236,   1244,   1252,   1260,
    1268,   1276,   1240,   1248,   1256,   1264,   1271,   1237,
    1245,   1252,   1260,   1268,   1276,   1242,   1250,   1257,
};
const prog_uint16_t lut_res_delay_decimation[] PROGMEM = {
       2,      2,      2,      2,      2,      2,      2,      2,
       2,      2,      2,      3,      3,      3,      3,      3,
       3,      3,      3,      3,      3,      3,      3,      3,
       3,      3,      3,      3,      3,      3,      4,      4,
       4,      4,      4,      4,      4,      4,      4,      4,
       4,      4,      4,      4,      4,      4,      5,      5,
       5,      5,      5,      5,      5,      5,      5,      5,
       5,      5,      5,      5,      6,      6,      6,      6,
       6,      6,      6,      6,      6,      6,      6,      6,
       6,      7,      7,      7,      7,      7,      7,      7,
       7,      7,      7,      7,      8,      8,      8,      8,
       8,      8,      8,      8,      8,      8,      8,      9,
       9,      9,      9,      9,      9,      9,      9,      9,
       9,     10,     10,     10,     10,     10,     10,     10,
      10,     10,     10,     11,     11,     11,     11,     11,
      11,     11,     11,     11,     12,     12,     12,     12,
      12,     12,     12,     12,     12,     13,     13,     13,
      13,     13,     13,     13,     13,     14,     14,     14,
      14,     14,     14,     14,     14,     14,     15,     15,
      15,     15,     15,     15,     15,     16,     16,     16,
      16,     16,     16,     16,     16,     17,     17,     17,
      17,     17,     17,     17,     18,     18,     18,     18,
      18,     18,     18,     19,     19,     19,     19,     19,
      19,     19,     20,     20,     20,     20,     20,     20,
      20,     21,     21,     21,     21,     21,     21,     21,
      22,     22,     22,     22,     22,     22,     23,     23,
      23,     23,     23,     23,     24,     24,     24,     24,
      24,     24,     25,     25,     25,     25,     25,     25,
      25,     26,     26,     26,     26,     26,     27,     27,
      27,     27,     27,     27,     28,     28,     28,     28,
      28,     28,     29,     29,     29,     29,     29,     30,
      30,     30,     30,     30,     30,     31,     31,     31,
};
const prog_uint16_t lut_res_delay_filter_gain[] PROGMEM = {
     128,    128,    128,    128,    128,    128,    128,    128,
     128,    128,    128,     85,     85,     85,     85,     85,
      85,     85,     85,     85,     85,     85,     85,     85,
      85,     85,     85,     85,     85,     85,     64,     64,
      64,     64,     64,     64,     64,     64,     64,     64,
      64,     64,     64,     64,     64,     64,     51,     51,
      51,     51,     51,     51,     51,     51,     51,     51,
      51,     51,     51,     51,     43,     43,     43,     43,
      43,     43,     43,     43,     43,     43,     43,     43,
      43,     37,     37,     37,     37,     37,     37,     37,
      37,     37,     37,     37,     32,     32,     32,     32,
      32,     32,     32,     32,     32,     32,     32,     29,
      29,     29,     29,     29,     29,     29,     29,     29,
      29,     26,     26,     26,     26,     26,     26,     26,
      26,     26,     26,     24,     24,     24,     24,     24,
      24,     24,     24,     24,     22,     22,     22,     22,
      22,     22,     22,     22,     22,     20,     20,     20,
      20,     20,     20,     20,     20,     19,     19,     19,
      19,     19,     19,     19,     19,     19,     17,     17,
      17,     17,     17,     17,     17,     16,     16,     16,
      16,     16,     16,     16,     16,     15,     15,     15,
      15,     15,     15,     15,     15,     15,     15,     15,
      15,     15,     15,     14,     14,     14,     14,     14,
      14,     14,     13,     13,     13,     13,     13,     13,
      13,     13,     13,     13,     13,     13,     13,     13,
      12,     12,     12,     12,     12,     12,     12,     12,
      12,     12,     12,     12,     11,     11,     11,     11,
      11,     11,     11,     11,     11,     11,     11,     11,
      11,     10,     10,     10,     10,     10,     10,     10,
      10,     10,     10,     10,     10,     10,     10,     10,
      10,     10,      9,      9,      9,      9,      9,      9,
       9,      9,      9,      9,      9,      9,      9,      9,
};
const prog_uint16_t lut_res_delay_phase_scaling[] PROGMEM = {
   32768,  32768,  32768,  32768,  32768,  32768,  32768,  32768,
   32768,  32768,  32768,  21845,  21845,  21845,  21845,  21845,
   21845,  21845,  21845,  21845,  21845,  21845,  21845,  21845,
   21845,  21845,  21845,  21845,  21845,  21845,  16384,  16384,
   16384,  16384,  16384,  16384,  16384,  16384,  16384,  16384,
   16384,  16384,  16384,  16384,  16384,  16384,  13107,  13107,
   13107,  13107,  13107,  13107,  13107,  13107,  13107,  13107,
   13107,  13107,  13107,  13107,  10922,  10922,  10922,  10922,
   10922,  10922,  10922,  10922,  10922,  10922,  10922,  10922,
   10922,   9362,   9362,   9362,   9362,   9362,   9362,   9362,
    9362,   9362,   9362,   9362,   8192,   8192,   8192,   8192,
    8192,   8192,   8192,   8192,   8192,   8192,   8192,   7281,
    7281,   7281,   7281,   7281,   7281,   7281,   7281,   7281,
    7281,   6553,   6553,   6553,   6553,   6553,   6553,   6553,
    6553,   6553,   6553,   5957,   5957,   5957,   5957,   5957,
    5957,   5957,   5957,   5957,   5461,   5461,   5461,   5461,
    5461,   5461,   5461,   5461,   5461,   5041,   5041,   5041,
    5041,   5041,   5041,   5041,   5041,   4681,   4681,   4681,
    4681,   4681,   4681,   4681,   4681,   4681,   4369,   4369,
    4369,   4369,   4369,   4369,   4369,   4096,   4096,   4096,
    4096,   4096,   4096,   4096,   4096,   3855,   3855,   3855,
    3855,   3855,   3855,   3855,   3640,   3640,   3640,   3640,
    3640,   3640,   3640,   3449,   3449,   3449,   3449,   3449,
    3449,   3449,   3276,   3276,   3276,   3276,   3276,   3276,
    3276,   3120,   3120,   3120,   3120,   3120,   3120,   3120,
    2978,   2978,   2978,   2978,   2978,   2978,   2849,   2849,
    2849,   2849,   2849,   2849,   2730,   2730,   2730,   2730,
    2730,   2730,   2621,   2621,   2621,   2621,   2621,   2621,
    2621,   2520,   2520,   2520,   2520,   2520,   2427,   2427,
    2427,   2427,   2427,   2427,   2340,   2340,   2340,   2340,
    2340,   2340,   2259,   2259,   2259,   2259,   2259,   2184,
    2184,   2184,   2184,   2184,   2184,   2114,   2114,   2114,
};
const prog_uint16_t lut_res_tap_delay_duration[] PROGMEM = {
    1261,   1266,   1273,   1244,   1253,   1265,   1279,   1252,
    1268,   1242,   1261,   1236,   1257,   1233,   1257,   1234,
    1261,   1238,   1268,   1246,   1279,   1258,   1238,   1273,
    1253,   1234,   1273,   1254,   1236,   1279,   1261,   1243,
    1225,   1272,   1255,   1238,   1222,   1273,   1257,   1241,
    1225,   1210,   1266,   1251,   1236,   1221,   1207,   1268,
    1253,   1239,   1225,   1212,   1279,   1265,   1252,   1238,
    1225,   1213,   1200,   1273,   1261,   1248,   1236,   1224,
    1212,   1200,   1189,   1269,   1257,   1245,   1234,   1223,
    1212,   1201,   1191,   1279,   1268,   1257,   1246,   1236,
    1225,   1215,   1205,   1196,   1186,   1176,   1273,   1263,
    1253,   1244,   1234,   1225,   1215,   1206,   1197,   1188,
    1180,   1171,   1279,   1270,   1261,   1252,   1243,   1234,
    1225,   1217,   1209,   1200,   1192,   1184,   1176,   1169,
    1161,   1153,   1273,   1265,   1257,   1249,   1241,   1233,
    1225,   1218,   1210,   1203,   1196,   1188,   1181,   1174,
    1167,   1160,   1153,   1147,   1140,   1275,   1268,   1261,
    1253,   1246,   1239,   1232,   1225,   1219,   1212,   1205,
    1199,   1192,   1186,   1180,   1173,   1167,   1161,   1155,
    1149,   1143,   1137,   1131,   1125,   1120,   1273,   1267,
    1261,   1254,   1248,   1242,   1236,   1230,   1224,   1218,
    1212,   1206,   1200,   1195,   1189,   1184,   1178,   1173,
    1167,   1162,   1156,   1151,   1146,   1141,   1136,   1130,
    1125,   1120,   1115,   1111,   1106,   1101,   1279,   1273,
    1268,   1262,   1257,   1252,   1246,   1241,   1236,   1231,
    1225,   1220,   1215,   1210,   1205,   1200,   1196,   1191,
    1186,   1181,   1176,   1172,   1167,   1163,   1158,   1153,
    1149,   1144,   1140,   1136,   1131,   1127,   1123,   1118,
    1114,   1110,   1106,   1102,   1097,   1093,   1089,   1085,
    1081,   1077,   1073,   1070,   1279,   1274,   1270,   1265,
    1261,   1256,   1252,   1247,   1243,   1238,   1234,   1230,
    1225,   1221,   1217,   1213,   1209,   1205,   1200,   1196,
    1192,   1188,   1184,   1180,   1176,   1173,   1169,   1165,
    1161,   1157,   1153,   1150,   1146,   1142,   1139,   1135,
    1131,   1128,   1124,   1120,   1117,   1113,   1110,   1106,
    1103,   1100,   1096,   1093,   1089,   1086,   1083,   1079,
    1076,   1073,   1070,   1066,   1063,   1060,   1057,   1054,
    1050,   1047,   1044,   1041,   1038,   1035,   1032,   1029,
    1026,   1279,   1275,   1271,   1268,   1264,   1261,   1257,
    1253,   1250,   1246,   1243,   1239,   1236,   1232,   1229,
    1225,   1222,   1219,   1215,   1212,   1209,   1205,   1202,
    1199,   1196,   1192,   1189,   1186,   1183,   1180,   1176,
    1173,   1170,   1167,   1164,   1161,   1158,   1155,   1152,
    1149,   1146,   1143,   1140,   1137,   1134,   1131,   1128,
    1125,   1123,   1120,   1117,   1114,   1111,   1108,   1106,
    1103,   1100,   1097,   1095,   1092,   1089,   1087,   1084,
    1081,   1079,   1076,   1073,   1071,   1068,   1066,   1063,
    1061,   1058,   1055,   1053,   1050,   1048,   1045,   1043,
    1041,   1038,   1036,   1033,   1031,   1028,   1026,   1024,
    1021,   1019,   1017,   1014,   1012,   1010,   1007,   1005,
    1003,   1000,    998,    996,    994,    991,    989,    987,
     985,    983,    980,    978,    976,    974,    972,    970,
     967,    965,    963,    961,   1279,   1276,   1273,   1270,
    1268,   1265,   1262,   1260,   1257,   1254,   1252,   1249,
    1246,   1244,   1241,   1238,   1236,   1233,   1231,   1228,
    1225,   1223,   1220,   1218,   1215,   1213,   1210,   1208,
    1205,   1203,   1200,   1198,   1196,   1193,   1191,   1188,
    1186,   1184,   1181,   1179,   1176,   1174,   1172,   1169,
    1167,   1165,   1163,   1160,   1158,   1156,   1153,   1151,
    1149,   1147,   1144,   1142,   1140,   1138,   1136,   1133,
    1131,   1129,   1127,   1125,   1123,   1120,   1118,   1116,
    1114,   1112,   1110,   1108,   1106,   1104,   1102,   1100,
    1097,   1095,   1093,   1091,   1089,   1087,   1085,   1083,
    1081,   1079,   1077,   1075,   1073,   1071,   1070,   1068,
    1066,   1064,   1062,   1060,   1058,   1056,   1054,   1052,
    1050,   1049,   1047,   1045,   1043,   1041,   1039,   1037,
    1036,   1034,   1032,   1030,   1028,   1027,   1025,   1023,
    1021,   1019,   1018,   1016,   1014,   1012,   1011,   1009,
    1007,   1006,   1004,   1002,   1000,    999,    997,    995,
     994,    992,    990,    989,    987,    985,    984,    982,
     980,    979,    977,    976,    974,    972,    971,    969,
     967,    966,    964,    963,    961,    960,    958,    956,
     955,    953,    952,    950,    949,    947,    946,    944,
     943,    941,    940,    938,    937,    935,    934,    932,
     931,    929,    928,    926,    925,    923,    922,    921,
     919,    918,    916,    915,    913,    912,    911,    909,
     908,    906,    905,    904,    902,    901,    899,    898,
     897,    895,    894,    893,    891,    890,    889,    887,
     886,    885,    883,    882,    881,    879,    878,    877,
     875,    874,    873,    871,    870,    869,    868,    866,
     865,    864,    863,    861,    860,    859,    857,    856,
     855,    854,   1279,   1277,   1275,   1273,   1271,   1270,
    1268,   1266,   1264,   1262,   1261,   1259,   1257,   1255,
    1253,   1252,   1250,   1248,   1246,   1245,   1243,   1241,
    1239,   1238,   1236,   1234,   1232,   1231,   1229,   1227,
    1225,
};
const prog_uint16_t lut_res_tap_delay_decimation[] PROGMEM = {
      35,     34,     33,     33,     32,     31,     30,     30,
      29,     29,     28,     28,     27,     27,     26,     26,
      25,     25,     24,     24,     23,     23,     23,     22,
      22,     22,     21,     21,     21,     20,     20,     20,
      20,     19,     19,     19,     19,     18,     18,     18,
      18,     18,     17,     17,     17,     17,     17,     16,
      16,     16,     16,     16,     15,     15,     15,     15,
      15,     15,     15,     14,     14,     14,     14,     14,
      14,     14,     14,     13,     13,     13,     13,     13,
      13,     13,     13,     12,     12,     12,     12,     12,
      12,     12,     12,     12,     12,     12,     11,     11,
      11,     11,     11,     11,     11,     11,     11,     11,
      11,     11,     10,     10,     10,     10,     10,     10,
      10,     10,     10,     10,     10,     10,     10,     10,
      10,     10,      9,      9,      9,      9,      9,      9,
       9,      9,      9,      9,      9,      9,      9,      9,
       9,      9,      9,      9,      9,      8,      8,      8,
       8,      8,      8,      8,      8,      8,      8,      8,
       8,      8,      8,      8,      8,      8,      8,      8,
       8,      8,      8,      8,      8,      8,      7,      7,
       7,      7,      7,      7,      7,      7,      7,      7,
       7,      7,      7,      7,      7,      7,      7,      7,
       7,      7,      7,      7,      7,      7,      7,      7,
       7,      7,      7,      7,      7,      7,      6,      6,
       6,      6,      6,      6,      6,      6,      6,      6,
       6,      6,      6,      6,      6,      6,      6,      6,
       6,      6,      6,      6,      6,      6,      6,      6,
       6,      6,      6,      6,      6,      6,      6,      6,
       6,      6,      6,      6,      6,      6,      6,      6,
       6,      6,      6,      6,      5,      5,      5,      5,
       5,      5,      5,      5,      5,      5,      5,      5,
       5,      5,      5,      5,      5,      5,      5,      5,
       5,      5,      5,      5,      5,      5,      5,      5,
       5,      5,      5,      5,      5,      5,      5,      5,
       5,      5,      5,      5,      5,      5,      5,      5,
       5,      5,      5,      5,      5,      5,      5,      5,
       5,      5,      5,      5,      5,      5,      5,      5,
       5,      5,      5,      5,      5,      5,      5,      5,
       5,      4,      4,      4,      4,      4,      4,      4,
       4,      4,      4,      4,      4,      4,      4,      4,
       4,      4,      4,      4,      4,      4,      4,      4,
       4,      4,      4,      4,      4,      4,      4,      4,
       4,      4,      4,      4,      4,      4,      4,      4,
       4,      4,      4,      4,      4,      4,      4,      4,
       4,      4,      4,      4,      4,      4,      4,      4,
       4,      4,      4,      4,      4,      4,      4,      4,
       4,      4,      4,      4,      4,      4,      4,      4,
       4,      4,      4,      4,      4,      4,      4,      4,
       4,      4,      4,      4,      4,      4,      4,      4,
       4,      4,      4,      4,      4,      4,      4,      4,
       4,      4,      4,      4,      4,      4,      4,      4,
       4,      4,      4,      4,      4,      4,      4,      4,
       4,      4,      4,      4,      3,      3,      3,      3,
       3,      3,      3,      3,      3,      3,      3,      3,
       3,      3,      3,      3,      3,      3,      3,      3,
       3,      3,      3,      3,      3,      3,      3,      3,
       3,      3,      3,      3,      3,      3,      3,      3,
       3,      3,      3,      3,      3,      3,      3,      3,
       3,      3,      3,      3,      3,      3,      3,      3,
       3,      3,      3,      3,      3,      3,      3,      3,
       3,      3,      3,      3,      3,      3,      3,      3,
       3,      3,      3,      3,      3,      3,      3,      3,
       3,      3,      3,      3,      3,      3,      3,      3,
       3,      3,      3,      3,      3,      3,      3,      3,
       3,      3,      3,      3,      3,      3,      3,      3,
       3,      3,      3,      3,      3,      3,      3,      3,
       3,      3,      3,      3,      3,      3,      3,      3,
       3,      3,      3,      3,      3,      3,      3,      3,
       3,      3,      3,      3,      3,      3,      3,      3,
       3,      3,      3,      3,      3,      3,      3,      3,
       3,      3,      3,      3,      3,      3,      3,      3,
       3,      3,      3,      3,      3,      3,      3,      3,
       3,      3,      3,      3,      3,      3,      3,      3,
       3,      3,      3,      3,      3,      3,      3,      3,
       3,      3,      3,      3,      3,      3,      3,      3,
       3,      3,      3,      3,      3,      3,      3,      3,
       3,      3,      3,      3,      3,      3,      3,      3,
       3,      3,      3,      3,      3,      3,      3,      3,
       3,      3,      3,      3,      3,      3,      3,      3,
       3,      3,      3,      3,      3,      3,      3,      3,
       3,      3,      3,      3,      3,      3,      3,      3,
       3,      3,      2,      2,      2,      2,      2,      2,
       2,      2,      2,      2,      2,      2,      2,      2,
       2,      2,      2,      2,      2,      2,      2,      2,
       2,      2,      2,      2,      2,      2,      2,      2,
       2,
};
const prog_uint16_t lut_res_tap_delay_filter_gain[] PROGMEM = {
       8,      8,      8,      8,      8,      9,      9,      9,
       9,      9,     10,     10,     10,     10,     10,     10,
      11,     11,     11,     11,     12,     12,     12,     12,
      12,     12,     13,     13,     13,     13,     13,     13,
      13,     14,     14,     14,     14,     15,     15,     15,
      15,     15,     15,     15,     15,     15,     15,     16,
      16,     16,     16,     16,     17,     17,     17,     17,
      17,     17,     17,     19,     19,     19,     19,     19,
      19,     19,     19,     20,     20,     20,     20,     20,
      20,     20,     20,     22,     22,     22,     22,     22,
      22,     22,     22,     22,     22,     22,     24,     24,
      24,     24,     24,     24,     24,     24,     24,     24,
      24,     24,     26,     26,     26,     26,     26,     26,
      26,     26,     26,     26,     26,     26,     26,     26,
      26,     26,     29,     29,     29,     29,     29,     29,
      29,     29,     29,     29,     29,     29,     29,     29,
      29,     29,     29,     29,     29,     32,     32,     32,
      32,     32,     32,     32,     32,     32,     32,     32,
      32,     32,     32,     32,     32,     32,     32,     32,
      32,     32,     32,     32,     32,     32,     37,     37,
      37,     37,     37,     37,     37,     37,     37,     37,
      37,     37,     37,     37,     37,     37,     37,     37,
      37,     37,     37,     37,     37,     37,     37,     37,
      37,     37,     37,     37,     37,     37,     43,     43,
      43,     43,     43,     43,     43,     43,     43,     43,
      43,     43,     43,     43,     43,     43,     43,     43,
      43,     43,     43,     43,     43,     43,     43,     43,
      43,     43,     43,     43,     43,     43,     43,     43,
      43,     43,     43,     43,     43,     43,     43,     43,
      43,     43,     43,     43,     51,     51,     51,     51,
      51,     51,     51,     51,     51,     51,     51,     51,
      51,     51,     51,     51,     51,     51,     51,     51,
      51,     51,     51,     51,     51,     51,     51,     51,
      51,     51,     51,     51,     51,     51,     51,     51,
      51,     51,     51,     51,     51,     51,     51,     51,
      51,     51,     51,     51,     51,     51,     51,     51,
      51,     51,     51,     51,     51,     51,     51,     51,
      51,     51,     51,     51,     51,     51,     51,     51,
      51,     64,     64,     64,     64,     64,     64,     64,
      64,     64,     64,     64,     64,     64,     64,     64,
      64,     64,     64,     64,     64,     64,     64,     64,
      64,     64,     64,     64,     64,     64,     64,     64,
      64,     64,     64,     64,     64,     64,     64,     64,
      64,     64,     64,     64,     64,     64,     64,     64,
      64,     64,     64,     64,     64,     64,     64,     64,
      64,     64,     64,     64,     64,     64,     64,     64,
      64,     64,     64,     64,     64,     64,     64,     64,
      64,     64,     64,     64,     64,     64,     64,     64,
      64,     64,     64,     64,     64,     64,     64,     64,
      64,     64,     64,     64,     64,     64,     64,     64,
      64,     64,     64,     64,     64,     64,     64,     64,
      64,     64,     64,     64,     64,     64,     64,     64,
      64,     64,     64,     64,     85,     85,     85,     85,
      85,     85,     85,     85,     85,     85,     85,     85,
      85,     85,     85,     85,     85,     85,     85,     85,
      85,     85,     85,     85,     85,     85,     85,     85,
      85,     85,     85,     85,     85,     85,     85,     85,
      85,     85,     85,     85,     85,     85,     85,     85,
      85,     85,     85,     85,     85,     85,     85,     85,
      85,     85,     85,     85,     85,     85,     85,     85,
      85,     85,     85,     85,     85,     85,     85,     85,
      85,     85,     85,     85,     85,     85,     85,     85,
      85,     85,     85,     85,     85,     85,     85,     85,
      85,     85,     85,     85,     85,     85,     85,     85,
      85,     85,     85,     85,     85,     85,     85,     85,
      85,     85,     85,     85,     85,     85,     85,     85,
      85,     85,     85,     85,     85,     85,     85,     85,
      85,     85,     85,     85,     85,     85,     85,     85,
      85,     85,     85,     85,     85,     85,     85,     85,
      85,     85,     85,     85,     85,     85,     85,     85,
      85,     85,     85,     85,     85,     85,     85,     85,
      85,     85,     85,     85,     85,     85,     85,     85,
      85,     85,     85,     85,     85,     85,     85,     85,
      85,     85,     85,     85,     85,     85,     85,     85,
      85,     85,     85,     85,     85,     85,     85,     85,
      85,     85,     85,     85,     85,     85,     85,     85,
      85,     85,     85,     85,     85,     85,     85,     85,
      85,     85,     85,     85,     85,     85,     85,     85,
      85,     85,     85,     85,     85,     85,     85,     85,
      85,     85,     85,     85,     85,     85,     85,     85,
      85,     85,     85,     85,     85,     85,     85,     85,
      85,     85,    128,    128,    128,    128,    128,    128,
     128,    128,    128,    128,    128,    128,    128,    128,
     128,    128,    128,    128,    128,    128,    128,    128,
     128,    128,    128,    128,    128,    128,    128,    128,
     128,
};
const prog_uint16_t lut_res_pitch_ratio[] PROGMEM = {
      40,     41,     41,     42,     43,     43,     44,     45,
      45,     46,     47,     47,     48,     49,     49,     50,
      51,     52,     52,     53,     54,     55,     55,     56,
      57,     58,     59,     60,     60,     61,     62,     63,
      64,     65,     66,     67,     68,     69,     70,     71,
      72,     73,     74,     75,     76,     77,     78,     79,
      81,     82,     83,     84,     85,     87,     88,     89,
      91,     92,     93,     95,     96,     97,     99,    100,
     102,    103,    105,    106,    108,    109,    111,    112,
     114,    116,    117,    119,    121,    123,    124,    126,
     128,    130,    132,    134,    136,    138,    140,    142,
     144,    146,    148,    150,    152,    154,    157,    159,
     161,    164,    166,    168,    171,    173,    176,    178,
     181,    184,    186,    189,    192,    195,    197,    200,
     203,    206,    209,    212,    215,    218,    222,    225,
     228,    231,    235,    238,    242,    245,    249,    252,
     256,    260,    264,    267,    271,    275,    279,    283,
     287,    292,    296,    300,    304,    309,    313,    318,
     323,    327,    332,    337,    342,    347,    352,    357,
     362,    367,    373,    378,    384,    389,    395,    401,
     406,    412,    418,    424,    431,    437,    443,    450,
     456,    463,    470,    476,    483,    490,    497,    505,
     512,    519,    527,    535,    542,    550,    558,    566,
     575,    583,    592,    600,    609,    618,    627,    636,
     645,    654,    664,    674,    683,    693,    703,    714,
     724,    735,    745,    756,    767,    778,    790,    801,
     813,    825,    837,    849,    861,    874,    886,    899,
     912,    926,    939,    953,    967,    981,    995,   1009,
    1024,   1039,   1054,   1069,   1085,   1101,   1117,   1133,
    1149,   1166,   1183,   1200,   1218,   1235,   1253,   1272,
    1290,   1309,   1328,   1347,   1367,   1387,   1407,   1427,
    1448,   1469,   1491,   1512,   1534,   1557,   1579,   1602,
};


const prog_uint16_t* lut_table[] = {
  lut_res_distortion,
  lut_res_fold,
  lut_res_integrator_gain,
  lut_res_comb_delays,
  lut_res_phase_increment,
  lut_res_delay_duration,
  lut_res_delay_decimation,
  lut_res_delay_filter_gain,
  lut_res_delay_phase_scaling,
  lut_res_tap_delay_duration,
  lut_res_tap_delay_decimation,
  lut_res_tap_delay_filter_gain,
  lut_res_pitch_ratio,
};


}  // namespace dsp
